我正在使用ASP.NET MVC 5创建一个网站。Microsoft是否发布了替代FormsAuthentication的任何技术,或者他们仍然建议使用FormsAuthentication for MVC 5对用户进行身份验证?
我正在使用ASP.NET MVC 5创建一个网站。Microsoft是否发布了替代FormsAuthentication的任何技术,或者他们仍然建议使用FormsAuthentication for MVC 5对用户进行身份验证?
Answers:
是。在MVC 5及更高版本中不推荐使用FormsAuthentication。
至少,这是简短的答案。
长答案是,MVC 5之前的传统FormsAuthentication仍然可以使用。但是,正在逐步淘汰它,而使用诸如ASP.NET Identity之类的替代方法。
在Visual Studio 2013中,为和MVC 5应用程序提供的身份验证选项如下:
在这种情况下,“ 单个用户帐户”指的是ASP.NET标识。
根据Microsoft的说法,以前的ASP.NET成员资格已由ASP.NET身份取代,
[...]示例应用程序将配置为使用ASP.NET身份(以前称为ASP.NET成员身份)
(强调我的)
微软也声明
新的成员资格系统基于OWIN而不是ASP.NET Forms Authentication模块。
因此,Identity并没有完全取代FormsAuthentication,而是取代了使用FormsAuthentication的Membership系统。这也是一件好事,因为根据我在2013年提出的一个问题,会员资格相当混乱。
但是,仍然存在一种FormsAuthentication。根据微软的说法,
ASP.NET还通过FormsAuthenticationModule提供了表单身份验证支持,但是,该表单只能支持ASP.NET上托管的应用程序,而没有声明支持。这是一个粗略的功能比较列表:
因此,如果您仍想使用FormsAuthentication,请查看了解MVC 5中的OWIN Forms身份验证。
因此,Microsoft 鼓励您使用ASP.NET Identity。当然,您不必。您只需选择“ 无身份验证”,该项目将不会为您实现任何功能。然后由您来满足您的会员资格/登录需求。