设置我的第一个.net MVC5项目和登录工作,但我注意到,如果我不手动注销,身份仍然存在。我认为isPersistent标志设置为false会阻止这种情况,但事实并非如此,我找不到任何文档告诉我如何解决这个问题。
这是我登录的异步方法
private async Task SignInAsync(SdIdentityUser user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
Session["user"] = user;
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
这是对方法的调用
await SignInAsync(user, isPersistent: false);
这是我的Startup.Auth配置
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
答案 0 :(得分:1)
如果可能,我会删除这个问题。答案结果是,当正确设置为false时,isPersistent正常工作。我的代码有一个缺陷,导致标志设置为true。