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

PPa*_*ann 7 c# asp.net-core

我想在 asp.mvc core 3.X 中更改 .AspNetCore.Antiforgery.xxx 的默认 Cookie 名称,但是我似乎没有找到任何关于它的文档。甚至有可能吗?

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

services.Configure<CookiePolicyOptions>(options =>
{
  options.CheckConsentNeeded = context => true;
  options.MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.Strict;
  options.ConsentCookie.Name = "GDRP";
});
Run Code Online (Sandbox Code Playgroud)

Kir*_*kin 7

这可以使用AddAntiforgery. 这是从文档中获取并相应修改的示例:

services.AddAntiforgery(options => 
{
    options.Cookie.Name = "YourCookieName";
});
Run Code Online (Sandbox Code Playgroud)

文档中有一个有用的页面,其中列出了内置的 ASP.NET Core cookie 以及每个 cookie 的配置来自何处。


mik*_*ajs 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();
}
Run Code Online (Sandbox Code Playgroud)