我想在我的工作场所尝试使用ASP.NET Core MVC或Web API,但我们只有Active Directory进行身份验证和授权。是否有任何解决方案可以通过内部部署AD来解决它,或者我们必须为Java进行更改?我知道这个问题不是原创的,但我想得到一个简单的答案。
答案 0 :(得分:9)
Microsoft已发布System.DirectoryServices
的预发布版本。您可以使用以下命令从NuGet包管理器获取它:
Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04
到目前为止,这对我来说还不错。
答案 1 :(得分:7)
截至今天,{Core}尚未提供System.DirectoryServices
。您可以阅读更多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。