Asp.Net Identity和cookie名称

Geo*_*ros 16 asp.net cookies asp.net-identity

我们有2个应用程序都使用Asp.Net Identity来提高安全性.

他们彼此无关,但我碰巧是两个项目的开发人员.

我正面临着一个非常恼人的Cookie名称问题.如果我转到app1然后登录到app2并登录,我将从app1断开连接.

我猜测是因为这两个应用程序共享相同的cookie名称.

因此,为了便于开发,也因为我认为它更好,我正在寻找一种方法来更改cookie的名称.

任何线索?

Geo*_*ros 40

好的,找到了.

默认情况下,VS和Identity将在App_Start中创建名为Startup.Auth.cs的文件.

该文件包含以下代码

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    {
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
            validateInterval: TimeSpan.FromMinutes(30),
            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
    }
});
Run Code Online (Sandbox Code Playgroud)

要解决我们的问题,我们必须设置的CookieName属性 CookieAuthenticationOptions

CookieName = "my-very-own-cookie-name"
Run Code Online (Sandbox Code Playgroud)

而已; 而已.

干杯!