【问题标题】:How to add authentication to a .Net Core 2 application using old authentication data?如何使用旧的身份验证数据向 .Net Core 2 应用程序添加身份验证?
【发布时间】:2019-11-18 02:21:19
【问题描述】:

我创建了一个 MVC Core 2.1 应用程序。现在我需要为其添加身份验证(和授权),但我需要使用旧应用程序(表 aspnet_Users、aspnet_Membership 等)使用的用户成员资格数据。 我之前已经问过类似的问题(How can I use existing ASP.NET Membership data in a new .Net Core project?),但没有得到答案。

【问题讨论】:

  • 对于 AspNetIdentityAspNetCore Identity,它们遵循不同的设计,您不能将 AspNet Core Identity 与现有的旧表一起使用。尝试将 AspNetIdentity 迁移到 .net 核心版本,并将其添加到您的项目中。
  • @Tao Zhou 正如我所提到的,其他应用程序使用相同的用户数据,所以我需要将用户数据放在某个地方......我怀疑它是否正确,对吧?
  • @DavidShochet 啊,我误会你了,据我所知没有简单的方法可以做到这一点,我会亲自实现2.1的身份模型和数据库,然后运行一个sql脚本来迁移旧的数据到新数据库上的正确位置和格式。抱歉,我不能提供更多帮助。
  • 对于aspnet_Users,我假设它使用旧的aspnet 身份。检查您在其他应用程序中使用的库,并尝试将库转换为可以在 mvc 核心中引用的 .net 核心版本。没有内置方法来配置 .net 核心以使用现有表。你需要自己用你的表和逻辑设计来实现逻辑。

标签: c# authentication asp.net-core-mvc


【解决方案1】:

MS 最近发布了一个操作指南。它不会直接执行您想要的操作,而是将数据迁移到新表。我认为您不能使用没有一些自定义代码的旧表,因为数据类型和名称已更改,并且密码字段的哈希算法也不同。

https://docs.microsoft.com/en-us/aspnet/core/migration/proper-to-2x/membership-to-core-identity?view=aspnetcore-3.0

【讨论】:

  • 谢谢!
猜你喜欢
  • 2022-01-19
  • 2019-10-30
  • 2018-07-13
  • 1970-01-01
  • 2017-06-26
  • 2018-02-08
  • 1970-01-01
  • 2015-06-23
  • 2018-12-23
相关资源
最近更新 更多