我正在尝试退出应用程序,但身份验证Cookie未被删除。以下是我的实施
//Log in action
var identity = new ClaimsIdentity(new[] {
new Claim(ClaimTypes.Name, loginModel.UserName),
},
DefaultAuthenticationTypes.ApplicationCookie,
ClaimTypes.Name,
ClaimTypes.Role);
Authentication.SignIn(new AuthenticationProperties
{
IsPersistent = loginModel.RememberMe
}, identity);
//logout action
IAuthenticationManager Authentication
{
get { return HttpContext.GetOwinContext().Authentication; }
}
Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
//startup
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
//AuthenticationMode = AuthenticationMode.Active
});
答案 0 :(得分:0)
如果它对其他人有用。将项目从MVC2升级到MVC5后,我在Chrome中遇到了这个问题,但没有IE。我花了几天时间试图解决它,然后决定更新我在基础控制器中的一些跟踪代码。重新编译后问题就消失了。
我不想回溯我的步骤以验证这是一个解决方案,但我想知道该项目是否需要一个干净的重新编译,并通过修改引用该标识的其他代码,它实现了同样的事情