如何从 Forms Authentication 迁移到 ASP .NET Identity

How to migrate from Forms Authentication to ASP .NET Identity

我在一个包含常规 MVC 控制器和 Web API 控制器的 MVC 项目中工作。最初我使用自定义用户 table 实现了表单身份验证。但现在我打算使用新的 ASP .NET Identity,并将基于表单 cookie 的身份验证更改为基于声明的身份验证和授权。我已经有一个带有 tables 和自定义字段的数据库。所以我需要自定义 ASP .NET Identity 以使用我的 tables 谁能指导我如何实现这一目标?

编辑:

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

用户Table

用户名

用户名

密码

UserTypeId

用户类型Table

UserTypeId

用户类型

列名是不言自明的,所以我不描述它们。用户 Table 在用户类型 table.

的 UserTypeId 列上有外键

如果您不打算使用 Identity table 格式,那么进行这种迁移是没有意义的。

ASP.NET Identity 具有出色的开箱即用功能列表,如果没有适当的数据库支持,这些功能根本无法存在(并且该用户 table 无法提供它们)。

我想你在这里有不同的选择:

  • 坚持你的用户 table 并在其上构建一个自定义的 oauth 提供者(这并不难,请检查这个 link - 我个人按照本指南构建了许多应用程序的安全层)
  • 迁移到具有 ASP.NET 身份和 link 这个 table 的全新身份模型作为对为登录用户生成的 IClaimsIdentity 的扩展声明(检查 例如回答)。

恕我直言,我个人更喜欢第二种选择:您必须将您的用户 ID 和密码迁移到新系统,但最好从可靠且经过良好测试的系统开始。通过这种方式,您还可以访问未来的改进,这对于没有大量编码工作的完全定制系统可能是不正确的。

希望对您有所帮助:)