所以我认为我的问题是我有一个使用标准表单身份验证的MVC网站和一个更适合ASP.NET身份的MVC.
我要做的是配置我的Owin身份验证以读取和接受由标准MVC表单auth站点生成的auth cookie.一切都配置如下,但我似乎无法让Owin接受cookie.
app.SetDefaultSignInAsAuthenticationType(DefaultAuthenticationTypes.ExternalCookie); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie, AuthenticationMode = AuthenticationMode.Active, LoginPath = new PathString("/Account/Login"), CookieHttpOnly = true, CookieName = "myAuthCookie", CookieDomain = ".mydomain.com", CookiePath = "/", 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( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } });
Badri.. 5
你想要完成的是不可能的.Cookie身份验证中间件是基于声明的,并将与身份相关联的所有声明序列化到Cookie中的身份验证票证中.表单身份验证存储用户名和一些其他数据,但它对声明一无所知.基本上,放在cookie中的身份验证票证在两种情况下完全不同,您将无法获得cookie身份验证中间件读取由FAM创建的票证,反之亦然.
你想要完成的是不可能的.Cookie身份验证中间件是基于声明的,并将与身份相关联的所有声明序列化到Cookie中的身份验证票证中.表单身份验证存储用户名和一些其他数据,但它对声明一无所知.基本上,放在cookie中的身份验证票证在两种情况下完全不同,您将无法获得cookie身份验证中间件读取由FAM创建的票证,反之亦然.