首页 文章

Asp.net Identity如何验证身份验证Cookie?

提问于
浏览
0

我的MVC 5应用程序中的网络身份,它运作良好 . 但在Asp.net身份系统中我很少清楚 .

  • 如何在服务器上验证身份验证令牌(cookie)?

  • 如果用户使用旧的身份验证cookie(即用户可能通过以前的登录获得此身份),Asp.net将如何检测到这一点?

1 回答

  • 2

    1.如何验证身份验证令牌(cookie)?
    Ans:您可以在App_Start文件夹中找到实现此逻辑的Startup.Auth.cs文件:

    app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                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<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                }
            });
    

    app.UseCookieAuthenticatin使您的应用程序可以使用cookieAuthention并验证cookie,您也可以创建自己的逻辑来验证您的cookie .

    • 如果用户使用旧的身份验证cookie(即用户可能通过以前的登录获得此身份),Asp.net将如何检测到这一点?
      Ans:它忽略了已过期的cookie,您可以使用以下代码在CookieAuthenticationOptions中定义Cookie的过期时间:

    ExpireTimeSpan = TimeSpan.FromHours(1),

相关问题