Owin Authentication.SignIn不工作

Nes*_*hta 8 c# authentication asp.net-mvc owin asp.net-identity

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

Startup.cs

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
Run Code Online (Sandbox Code Playgroud)

Startup.Auth.cs

public partial class Startup
{
    public static Func<UserManager<ApplicationUser>> UserManagerFactory { get; set; }

    public Startup()
    {
        UserManagerFactory = () =>
        {
            var userManager = new UserManager<ApplicationUser>(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)
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

身份验证操作的某些部分:

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);
    }
Run Code Online (Sandbox Code Playgroud)

身份价值

登录后

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

Nes*_*hta 7

这是一个非常愚蠢的错误.我忘了打电话给ConfigureAuth方法.

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