如何从Forms身份验证迁移到ASP .NET Identity

dev*_*yst 2 authentication asp.net-mvc asp.net-authorization asp.net-mvc-4 asp.net-web-api

我在一个MVC项目中工作,该项目包含常规MVC控制器和Web API控制器.最初,我使用自定义用户表实现了表单身份验证.但现在我计划使用新的ASP .NET身份,并从基于cookie的表单身份验证更改为基于声明的身份验证和授权.我已经有一个包含自定义字段的表的数据库.所以我需要自定义ASP .NET身份以便与我的表一起工作任何人都可以指导我如何实现这一目标吗?

编辑:

在回复FKutsche时,这是我的用户表.我只保留了重要的列.

用户表

用户身份

用户名

密码

UserTypeId

用户类型表

UserTypeId

用户类型

列名是自解释的,所以我没有描述它们.用户表在UserType表的UserTypeId列上具有外键.

Luc*_*rsi 6

如果您不打算使用Identity表格式,那么进行此类迁移毫无意义.

ASP.NET Identity具有一个出色的现成功能列表,如果没有适当的数据库支持(并且用户表无法提供它们),这些功能就无法存在.

我认为你有不同的选择:

  • 坚持使用用户表并在其上构建自定义oauth提供程序(不是太难,请检查此链接 - 我个人按照本指南构建了许多应用程序的安全层)
  • 使用ASP.NET标识迁移到全新的身份模型,并将此表链接为对已登录用户生成的IClaimsIdentity的扩展声明(例如,这个 SO答案).

恕我直言,我个人更喜欢第二种选择:你必须将你的用户ID和pw迁移到新系统,但最好从坚实且经过充分测试的东西开始.通过这种方式,您还可以获得未来的改进,对于没有大量编码工作的完全定制的系统而言,这可能并非如此.

希望能帮助到你 :)