cookies - 如何设置 HttpOnly 和安全“lang”Sitecore cookie?
问题描述
任何人,如何设置“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 仍然被禁用。
解决方案
推荐阅读
- python - Django - 限制 unique_together 列的键大小
- excel - VBA:代码在原始工作表模块中工作,但不是新模块
- c# - 如何使客户端应用程序通过.net远程处理通过共享库接口从服务器应用程序获取数据库中的所有表行
- typescript - 带有ionic3和cordova的woocommerce-api
- jquery - 如何将 Jquery 与 Asp.Net Mvc Core 2.2 的 html 助手一起使用
- angular - Angular 6 ng-空闲
- c# - 在局部视图中存储会话
- php - 如何为一页上的多个产品设置 Php/Stripe 结帐...?
- c# - 如何使用 Rx.NET 接收回调?
- python - 指定 Windows 以使用 Anaconda Python 解释器