使用 Active Directory 进行身份验证和 ASP.NET 角色身份

Using Active Directory for authentication and ASP.NET Identity for Roles

我有一个使用 ASP.NET Identity 2.2 的 ASP.NET 应用程序。这是从 SQL 成员资格迁移过来的。除了使用 AspNetUsers、AspNetRoles 等 tables,该应用程序还包含特定于应用程序的 SQL 服务器 tables,其中 link 返回身份 tables .例如,SavedSearch table 有一个 UserId 列,其中包含来自 AspNetUsers.Id.

的值

一些客户现在希望选择使用他们的本地 Active Directory(不是 Azure Active Directory 或 ADFS)进行身份验证。所以计划是使用 Active Directory 进行身份验证,角色成员资格等将继续存储在 SQL 服务器中。

实现此目标的最佳方法是什么?

使用 DirectoryService Class 通过 AD 进行身份验证。以下link将有助于实现这一目标。

Active Directory With C#

来自 Active Directory 的用户的电子邮件等公共字段可用于映射与成员资格相关的 table 以处理角色扫描。某些 AD 用户可能无法使用电子邮件,您可以确保双方(AD 和会员)具有相同的电子邮件