更改 ASP.NET Core MVC 中防伪的默认 cookie 名称

问题描述 投票:0回答:3

我想更改 ASP.NET Core 3.X MVC 中 .AspNetCore.Antiforgery.xxx 的默认 Cookie 名称,但我似乎没有找到任何相关文档。还可能吗?

我发现唯一可以改变的是:

services.Configure<CookiePolicyOptions>(options =>
{
  options.CheckConsentNeeded = context => true;
  options.MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.Strict;
  options.ConsentCookie.Name = "GDRP";
});
c# asp.net-core
3个回答
12
投票

这可以使用

AddAntiforgery
来实现。以下是取自 docs 并进行相应修改的示例:

services.AddAntiforgery(options => 
{
    options.Cookie.Name = "YourCookieName";
});

docs 中有一个有用的页面,其中列出了内置的 ASP.NET Core cookie 以及每个配置的来源。


6
投票

适用于 .NET 5.0 及更高版本

ProjectRoot/Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    // ...
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
        .AddCookie(options =>
        {
            options.Cookie.Name = "your_cookie_name";
        });
    // ...
    services.AddControllers();
}

3
投票

好的,已经找到了,对于那些正在寻找的人

services.AddAntiforgery(options =>
{
     options.Cookie.Name = "my-x-name";
     options.HeaderName = "my-x-name";
});

它将接受任何字符串,需要验证它是否有效或者是否需要更新其他内容......

© www.soinside.com 2019 - 2024. All rights reserved.