如何设置 HttpOnly 和 Secure "lang" Sitecore cookie?

时间:2021-01-28 23:14:24

标签: cookies sitecore httponly

任何人,如何设置“lang”Sitecore cookie 的 HttpOnly 和 Secure 标志? 我尝试通过处理器管道设置为以下代码

public class CookiesFlagResolver : HttpRequestProcessor
{
    public override void Process(HttpRequestArgs args)
    {
        HttpContext current = HttpContext.Current;
        if (current != null)
        {
            SiteContext context = Context.Site;
            string cookieKey = context.GetCookieKey("lang");
            HttpCookie cookie = current.Request.Cookies[cookieKey];
            if (cookie != null)
            {
                if (cookie.HttpOnly == false || cookie.Secure == false)
                {
                    cookie.HttpOnly = true;
                    cookie.Secure = true;
                    current.Response.AppendCookie(cookie);
                }
            }
        }
    }
}

补丁配置

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
    <sitecore role:require="Standalone or ContentDelivery or ContentManagement">
        <pipelines>
            <httpRequestBegin>
                <processor type="Website.Custom.Pipelines.CookiesFlagResolver, Website" patch:before="processor[@type='Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel']"/>
            </httpRequestBegin>
        </pipelines>
    </sitecore>
</configuration>

我已经检查过在调试时代码是否被正确命中。 不幸的是,浏览器中的“lang”cookie 仍然被禁用。

0 个答案:

没有答案
相关问题