【发布时间】:2017-08-08 16:06:38
【问题描述】:
我想在我的工作场所尝试使用 ASP.NET Core MVC 或 Web API,但我们只有 Active Directory 来进行身份验证和授权。是否有任何解决方案可以使用本地 AD 解决它,或者我们必须针对 Java 进行更改?我知道这个问题不是原创的,但我想得到一个简单的答案。
【问题讨论】:
标签: asp.net-core active-directory windows-authentication
我想在我的工作场所尝试使用 ASP.NET Core MVC 或 Web API,但我们只有 Active Directory 来进行身份验证和授权。是否有任何解决方案可以使用本地 AD 解决它,或者我们必须针对 Java 进行更改?我知道这个问题不是原创的,但我想得到一个简单的答案。
【问题讨论】:
标签: asp.net-core active-directory windows-authentication
Microsoft 已发布 System.DirectoryServices 的预发布版本。您可以使用以下命令从 NuGet 包管理器获取它:
Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04
到目前为止,这对我来说还不错。
【讨论】:
截至今天,System.DirectoryServices 在 ASP.NET Core 中尚不可用。你可以阅读更多here。
同时,您可以使用Novell.Directory.Ldap.NETStandard。例如,
public bool ValidateUser(string domainName, string username, string password)
{
string userDn = $"{username}@{domainName}";
try
{
using (var connection = new LdapConnection {SecureSocketLayer = false})
{
connection.Connect(domainName, LdapConnection.DEFAULT_PORT);
connection.Bind(userDn, password);
if (connection.Bound)
return true;
}
}
catch (LdapException ex)
{
// Log exception
}
return false;
}
由于它有太多的移动部件,我创建了a sample project at GitHub。
【讨论】: