从 ASP.NET 成员提供者迁移到 IdentityServer
Migrating from ASP.NET Membership Provider to IdentityServer
我有一些应用程序是用 ASP.NET Web Form 标准编写的,没有使用依赖项注入(.NET 版本 2,3.x,4.x)。
我们使用带有 MS-SQL 服务器后端的 Membership Provider 进行身份验证。
最近,我们决定升级身份验证部分以提高安全性。
根据我们的研究,我们可能有 2 个主要问题:
- 将包含加密密码的数据从旧数据库迁移到
用于目标数据模型
- 修改应用程序代码以在其启动代码中支持 IdentityServer
我们想使用支持旧数据库的 IdentityServer4 安装新的 SSO 服务器(或将旧数据迁移到新数据模型)并为应用程序添加一些启动代码(当然还要删除当前的成员资格提供程序)。
是否有任何途径可以迁移数据和应用程序以使用具有相同自定义 MS-SQL 服务器存储库的 IdentityServer4?
这个问题有更好的方法吗?
您可以为 Identity Server 使用自己的数据库上下文。在 Startup.cs
:
services.AddDbContext<YourDBContext>(options => options.UseSqlServer(<connection_string>));
但您必须扩展它以支持 Clients、ApiResources、PersistedGrants。
关于 WebForms 应用程序 - 您可以使用 IdentityServer3.AccessTokenValidation
和 IdenitityModel
库(身份模型应该 < v2.0) - 它们与 IdentityServer 4 完美配合。不需要依赖注入,只是一家 Owin 初创公司 class。
在这种情况下,我想您不需要迁移数据
我有一些应用程序是用 ASP.NET Web Form 标准编写的,没有使用依赖项注入(.NET 版本 2,3.x,4.x)。
我们使用带有 MS-SQL 服务器后端的 Membership Provider 进行身份验证。
最近,我们决定升级身份验证部分以提高安全性。
根据我们的研究,我们可能有 2 个主要问题:
- 将包含加密密码的数据从旧数据库迁移到 用于目标数据模型
- 修改应用程序代码以在其启动代码中支持 IdentityServer
我们想使用支持旧数据库的 IdentityServer4 安装新的 SSO 服务器(或将旧数据迁移到新数据模型)并为应用程序添加一些启动代码(当然还要删除当前的成员资格提供程序)。
是否有任何途径可以迁移数据和应用程序以使用具有相同自定义 MS-SQL 服务器存储库的 IdentityServer4?
这个问题有更好的方法吗?
您可以为 Identity Server 使用自己的数据库上下文。在 Startup.cs
:
services.AddDbContext<YourDBContext>(options => options.UseSqlServer(<connection_string>));
但您必须扩展它以支持 Clients、ApiResources、PersistedGrants。
关于 WebForms 应用程序 - 您可以使用 IdentityServer3.AccessTokenValidation
和 IdenitityModel
库(身份模型应该 < v2.0) - 它们与 IdentityServer 4 完美配合。不需要依赖注入,只是一家 Owin 初创公司 class。
在这种情况下,我想您不需要迁移数据