首页 > 解决方案 > 为什么 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)。

标签: asp.net-core-2.1

解决方案


.net core 2.1 的正确方法是将下一个代码添加到您的 Startup.cs:

        var cookiePolicyOptions = new CookiePolicyOptions
        {
            MinimumSameSitePolicy = SameSiteMode.Strict,
            Secure = CookieSecurePolicy.Always,
        };
        app.UseCookiePolicy(cookiePolicyOptions);

您还可以在此处查看有关 cookie 设置的文档。


推荐阅读