更改核心 MVC ASP.NET 默认 cookie 名称



我想在Core 3.X MVC中更改 ASP.NET.AspNetCore.Antiforgery.xxx 的默认Cookie名称,但是我似乎找不到任何文档。甚至可能吗?

我发现唯一能够改变的是:

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

这可以使用AddAntiforgery来实现。下面是从文档中获取并相应修改的示例:

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

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

适用于 .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();
}

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

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

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

最新更新