任何人,如何设置“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 仍然被禁用。