【问题标题】:Is it possible to add ASP.NET Core Identity to a WebForms project?是否可以将 ASP.NET Core Identity 添加到 WebForms 项目?
【发布时间】:2019-06-26 03:34:01
【问题描述】:

我知道 to add ASP.NET Identity (注意不是核心)可以用于 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

【问题讨论】:

  • 在这种情况下,我会看看使用身份服务器。
  • @penleychan 是的,考虑到这一点——只是想找到一个端到端的例子,因为有一些零碎的stackoverflow.com/a/48328649/223742,但不是一个完整的解决方案。

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


【解决方案1】:

绝对可以共享数据库

选项 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:您可以从您的核心项目中公开登录/注册/成员资格功能,并从您的 WebForm 作为一项休息服务使用。有几种安全方案和中间件。

见:

这些是一些快速的。您可能可以通过查看 Identity lib (https://github.com/aspnet/AspNetCore/tree/master/src/Identity) 的源代码推断并获得其他一些想法。如果您向下滚动自述文件,您将看到不同的 Store 提供程序。对于选项 1,您基本上需要为您的 Web 表单身份库 (https://archive.codeplex.com/?p=aspnetwebstack) 编写一个核心商店

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-21
相关资源
最近更新 更多