gpt4 book ai didi

azure - 如何使用身份表为现有 Azure 数据库创建 ASP.NET Core Web 应用程序

转载 作者:行者123 更新时间:2023-12-03 07:06:56 25 4
gpt4 key购买 nike

我有一个现有的 Xamarin 移动应用程序连接到后端,该后端是 Azure 中托管的 .NET Framework 4.7.1 Web 应用程序。它仅包含 Azure 中推送通知中心的逻辑和链接,并且还为移动应用程序进行新用户注册和登录身份验证。

我研究并意识到将 .NET Framework 4.7.1 现有 Web API 升级到 .NET Core 3.1/Net 6 Web API 不是一个好主意(甚至不能)。

我正在考虑创建一个新的 .NET Core 3.1/Net 6 项目,该项目还将连接到现有数据库,并在这个新项目中不断添加移动设备的功能,例如密码重置功能,更加现代和简单维持。两个 Web API 都可以运行(因此我可以避免更新移动 Azure 通知包和集线器,如果我修改了原始后端项目,就会导致这种情况)

多部分问题:

这种方法是个好方法吗?如果没有,有什么替代方案?

现有数据库具有 Microsoft Identity 表,因此当我创建新的 NET Core 3.1/Net 6 项目时,是否选择“使用 Microsoft Identity 进行身份验证”作为选项?当构建 azure 现有数据库连接字符串时,这是否会自动将我的身份验证逻辑挂接到具有现有表的新项目中(即使用户表的自定义名称略有修改,并在创建时在以前的项目中添加了一些列)?

最佳答案

作为答案发布(因为评论太长)

首先,您可以从.NET 4.7升级到NETCore,我最近已经这样做了(4.7.2到NetCore5)。前提是您没有使用尚未移植到 NetCore 的库或包。例如我的项目面向 EF6,我必须首先将整个项目迁移到 EFCore5。然后更改 DbContext 中的代码,重新创建数据库迁移,修复一些查询(尤其是 GroupBy 查询)等。最后我可以升级到 NetCore5。

关于问题的第二部分,我认为为某些功能使用单独的 API 并不是一个坏主意,但就我个人而言,如果升级现有项目可行,我会避免这样做。 (也许重新开始并逐渐移植其余代码?)

还要记住的一件事是,AspnetCore Identity 架构可能与 Aspnet Identity 架构不同(只是一个想法,不确定)

我最近将自定义用户和身份验证系统迁移到 AspnetCore Identity,我将 IdentityServer4 与 AspnetCore Identity 一起使用。我不确定你如何验证用户等,但我已经在使用 IdentityServer4,当我使用 AspnetCore Identity UI/Authentication 搭建它时,它创建了用于身份验证的 UI/业务逻辑(我必须稍微调整一下,并且有自定义其中一些内容以继续与我们的移动应用程序配合使用)

此外,我还必须手动将用户从自定义用户表迁移到新的 Identity.Users 表。我创建了一个实用程序应用程序(控制台应用程序),它从现有的用户表中读取用户并在 Microsoft --> Identity 表下创建它们。

我想我花了大约一个月的时间才升级

1 - EF6 --> EfCore

2 - Net471 --> NetCore5

3 - 自定义用户 --> AspnetCore 身份

关于azure - 如何使用身份表为现有 Azure 数据库创建 ASP.NET Core Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71243052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com