Cookies MVC 5&x2B;ASP身份授权-在子域中共享cookie
我有一个带有子域的本地网站,如:Cookies MVC 5&x2B;ASP身份授权-在子域中共享cookie,cookies,asp.net-mvc-5,subdomain,asp.net-identity,Cookies,Asp.net Mvc 5,Subdomain,Asp.net Identity,我有一个带有子域的本地网站,如: localhost:55307 aaa.localhost:55307 bbb.localhost:55307 除了授权之外,它工作正常-如果我登录localhost:55307我就不会登录aaa。localhost:55307,因为我的子域被视为单独的域。我正在寻找解决方案,但找不到任何Asp标识(MVC4中的表单身份验证是无用的)。 基于中的一些问题和答案,我这样做了: 在Startup.Auth.cs中编辑CookieAuthenticationOpti
localhost:55307
aaa.localhost:55307
bbb.localhost:55307
除了授权之外,它工作正常-如果我登录localhost:55307
我就不会登录aaa。localhost:55307
,因为我的子域被视为单独的域。我正在寻找解决方案,但找不到任何Asp标识(MVC4中的表单身份验证是无用的)。
基于中的一些问题和答案,我这样做了:
Startup.Auth.cs
中编辑CookieAuthenticationOptions
类,如下所示:
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
CookieDomain = ".localhost",
ExpireTimeSpan = new TimeSpan(0,12,0,0,0),
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
AuthenticationType=DefaultAuthenticationTypes.applicationOK,
LoginPath=新路径字符串(“/Account/Login”),
CookieDomain=“.localhost”,
ExpireTimeSpan=新的时间跨度(0,12,0,0,0),
Provider=新CookieAuthenticationProvider
{
//允许应用程序在用户登录时验证安全戳。
//这是一种安全功能,在您更改密码或向帐户添加外部登录时使用。
OnValidateIdentity=SecurityStampValidator.OnValidateIdentity(
validateInterval:TimeSpan.FromMinutes(30),
regenerateIdentity:(管理器,用户)=>user.GenerateUserIdentityAsync(管理器))
}
现在我可以登录了,但是cookies没有被共享——我仍然登录了一个子域
注:我现在知道StackOberflow中有很多类似的问题,但没有一个是关于MVC 5和ASP身份的,也没有一个得到了解决方案。我有类似的必要性。除了当前版本中的代码略有不同之外,我无法更改cookie名称,也找不到任何相关资源。我有类似的必要性。除了当前版本中的代码略有不同之外,我无法更改cookie名称,也找不到任何关于此的资源。