asp.net-core-2.1 - 为什么 Antiforgery CookieSecurePolicy 不适用?
问题描述
我想让我的 Antiforgery cookie 安全,所以我对我的代码添加了一些更改:
services.AddMvc();
services.AddAntiforgery(opts => {
opts.Cookie.HttpOnly = true;
opts.Cookie.SecurePolicy = CookieSecurePolicy.Always;
opts.Cookie.Domain = "localhost";
opts.Cookie.SameSite = SameSiteMode.Strict;
});
但即使我设置了安全策略,我的 cookie 也没有任何变化: Antiforgery cookie not secure,浏览器连接是安全的 (https)。
解决方案
.net core 2.1 的正确方法是将下一个代码添加到您的 Startup.cs:
var cookiePolicyOptions = new CookiePolicyOptions
{
MinimumSameSitePolicy = SameSiteMode.Strict,
Secure = CookieSecurePolicy.Always,
};
app.UseCookiePolicy(cookiePolicyOptions);
您还可以在此处查看有关 cookie 设置的文档。
推荐阅读
- java - 如何在 Java 8 中使用收集器和流自动增加哈希映射的键
- google-drive-api - 谷歌在导入文档时不遵守 mimetype
- javascript - 纯 JavaScript 中的字符串到数字
- swift - Swift 正则表达式配置
- sql - SQL - 对列求和,直到其他列条件
- javascript - 单击警告框“确定”后如何防止重新提交html表单?
- r - sample.int(length(x), size, replace, prob) 中的错误:“size”参数无效;当我使用评估方案时
- angular - Angular 反应式表单错误:必须为表单控件提供一个值,名称为:
- image - 我无法显示视图的图像
- regex - 使用正则表达式批量重命名 *fastq.gz 文件