繁体   English   中英

FormsAuthentication Microst.AspNet.Identity.Owin.SignInManager.to之间的区别

[英]Difference between FormsAuthentication Microst.AspNet.Identity.Owin.SignInManager.to authenticate

ASP.NET MVC的默认项目模板附带了一个名为Microst.AspNet.Identity.Owin.SignInManager的类。 此类用于验证用户身份

我不明白为什么我应该使用SignInManager而不是在ASP.NET MVC项目中使用简单的FormsAuthentication。 SignInManager有什么好处?

它是否根据FormsAuthentication以不同的方式进行身份验证? 它比FormsAuthentication更安全吗? 除了身份验证之外,我还可以使用SignInManager做什么?

SignInManager和下面的代码之间有什么关系? SignInManager是否使用下面设置的设置?

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))
    }
}); 

MembershipProvider在ASP.NET 2中附带FormsAuthentication

ASP.NET身份随ASP.NET 5中的SignInManager一起提供。

ASP.NET Identity是MembershipProvider的新版本。 它提供了比传统MembershipProvider更多的功能。

例如,

  • 双因素身份验证
  • 基于令牌的身份验证
  • 与MembershipProvider相比,易于添加的自定义属性
  • 从OWIN上下文中获取UserManager的实例

如果您不需要所有这些功能,您可以坚持使用可以在没有MembershipProvider的情况下使用的FormsAuthentication

Forms Authentication是ASP.NET的身份验证框架的旧版本。 反对使用Forms身份验证的一个非常可靠的原因是它已被弃用

最新版本的Visual Studio中ASP.NET MVC的默认模板具有ASP.NET Identity Framework的实现,因此使用SignInManager 我相信使用ASP.NET身份的一个主要优点是它可以作为OWIN中间件托管,这意味着它不依赖于System.Web ,因此不依赖于您的Web应用程序。

这个想法是为了让OWIN成为平台不可知论者。 它是ASP.NET应用程序和运行它的平台之间的“中间件”。 表单身份验证是为IIS上的ASP.NET构建的。 OWIN可以使用其他提供商,如谷歌和Facebook。

看看这篇文章: https//www.tektutorialshub.com/owin/introduction-to-owin/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM