在.NET Core 1.0应用程序中针对Active Directory进行身份验证?

时间:2016-06-28 19:10:31

标签: active-directory asp.net-core-mvc .net-core asp.net-core-1.0

随着最近发布的.NET Core 1.0,我们正在将RC1应用程序迁移到最终版本。我们似乎无法弄清楚的唯一一件事是如何集成Active Directory身份验证。

以前在RC1应用程序中,我们使用System.DirectoryServices.AccountManagement库来处理LDAP授权查询。但是,我们不能再将此库与.NET Core v1混合。

通常,使用可在.NET Core框架中使用的库将Active Directory身份验证集成到我们的应用程序中的最佳方法是什么? IdentityServer,其他一些第三方服务,如Auth0或其他什么?

4 个答案:

答案 0 :(得分:23)

Novell.LDAP库已经ported到.NET Core,您可以在NuGet中找到它。有许多samples可用,包括验证密码sample

答案 1 :(得分:8)

Best是主观的,因为缺少DirectoryServices命名空间(计划1.1) - 联邦,所以现在只有一种方式。

您必须安装ADFS,并将其公开到互联网上。然后将其配置为充当OAuth2端点,并使用通用OAuth中间件将登录重定向到ADFS服务器。您还可以安装最新的ADFS测试版,该测试版需要最新的Windows Server测试版,并使用OpenID Connect,但这可能是您无法接受的许多测试版风险。

或者,如果您只想要最新的MVC片段,请在.NET桌面上运行它,您可以在其中完全访问目录服务命名空间。

答案 2 :(得分:3)

System.DirectoryServices命名空间目前正在.NET Core中实现,工作正在进行中。 https://github.com/dotnet/corefx/issues/2089

答案 3 :(得分:1)

只是想说他们刚刚发布了Microsoft.Windows.Compatibility的预发行版,其中包含与Active Directory集成所需的System.DirectoryServices组件

https://www.nuget.org/packages/Microsoft.Windows.Compatibility/2.0.0-preview1-25914-04