Owin Authentication.SignIn不工作

我尝试使用owin身份validation管理器来validation用户,但User.Identity.IsAuthenticated仍然是假的。

Startup.cs

public partial class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } 

Startup.Auth.cs

 public partial class Startup { public static Func<UserManager> UserManagerFactory { get; set; } public Startup() { UserManagerFactory = () => { var userManager = new UserManager(new CustomUserStore()); return userManager; }; } public void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), LogoutPath = new PathString("/Account/LogOff"), ExpireTimeSpan = TimeSpan.FromDays(7) }); } } 

身份validation操作的某些部分:

 private async Task SignInAsync(ApplicationUser user, bool isPersistent) { var authManager = return HttpContext.GetOwinContext().Authentication; authManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); var identity = await userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); authManager.SignIn(new AuthenticationProperties { IsPersistent = isPersistent }, identity); } 

身份价值

登录后

身份创建成功但SignIn方法不签署用户。 怎么了?

这是一个非常愚蠢的错误。 我忘了调用ConfigureAuth方法。

 public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); // <-- this app.MapSignalR(); } }