是否可以将ASP.NET Core身份添加到WebForms项目中?

时间:2019-06-26 03:34:01

标签: c# asp.net asp.net-core asp.net-identity

我知道可以将to add ASP.NET标识(​​注意不是Core)用于WebForms项目。但是我要做的是将ASP.NET Core Identity添加到现有的WebForms项目中。

  1. 这可能吗?
  2. 如果不可能1.,那么如何在.NET Core应用程序和WebForms应用程序之间共享ASP.NET Core Identity用户数据库,以便可以实现https://docs.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-2.2#use-a-common-user-database

1 个答案:

答案 0 :(得分:0)

肯定有可能共享数据库

选项1 :您将需要执行一些自定义实现,因为Core Identity(v3)的架构可能与.NET Framework Identity(v2)略有不同。看看下面的链接https://docs.microsoft.com/en-us/aspnet/identity/overview/extensibility/index

如果它们是不同的实现,则可能还需要覆盖PasswordHasher。请查看以下文章:https://andrewlock.net/exploring-the-asp-net-core-identity-passwordhasher/

选项2 :您可以从Core项目中公开登录/注册/会员功能,并可以将WebForm作为休息服务使用。有几种其他的安全方案和中间件。

请参阅:

这些是一些快速的。您可以通过查看Identity lib(https://github.com/aspnet/AspNetCore/tree/master/src/Identity)的源进行推断并获得其他一些想法。如果向下滚动自述文件,将会看到不同的Store provider。对于选项1 ,您实际上需要为您的Web表单身份库(https://archive.codeplex.com/?p=aspnetwebstack

编写一个核心存储。