从ASP.NET成员资格提供程序迁移到IdentityServer

时间:2018-02-02 22:16:38

标签: asp.net webforms identityserver4 membership-provider sqlmembershipprovider

我有一些应用程序是用ASP.NET Web Form标准编写的,没有使用依赖注入(.NET版本2,3.x,4.x)。

我们已使用带有MS-SQL服务器后端的成员资格提供程序进行身份验证。

最近,我们决定升级身份验证部分以提高安全性。

根据我们的研究,我们可能有两个主要问题:

  1. 将包含加密密码的数据从旧数据库迁移到 用于目标数据模型
  2. 修改应用程序代码以在其启动代码中支持IdentityServer
  3. 我们希望使用支持旧数据库的IdentityServer4安装新的SSO服务器(或将旧数据迁移到新数据模型)并为应用程序添加一些启动代码(当然还要删除当前的成员资格提供程序)。

    是否有任何路径方法可以将数据和应用程序迁移到使用相同的自定义MS-SQL服务器存储库的IdentityServer4?

    这个问题有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以将自己的数据库上下文用于Identity Server。在Startup.cs

services.AddDbContext<YourDBContext>(options => options.UseSqlServer(<connection_string>));

但你必须扩展它以支持客户,ApiResources,PersistedGrants。

关于WebForms应用程序 - 您可以使用IdentityServer3.AccessTokenValidationIdenitityModel库(身份模型应该是&lt; v2.0) - 它们与IdentityServer 4完美配合。不需要依赖注入,只需一个Owin创业课。

在这种情况下,我猜您不需要迁移数据