Asp.net-Core

ASP.NET Core 和本地 AD 身份驗證

  • April 25, 2018

我想在我的工作場所嘗試使用 ASP.NET Core MVC 或 Web API,但我們只有 Active Directory 來進行身份驗證和授權。是否有任何解決方案可以使用本地 AD 解決它,或者我們必須針對 Java 進行更改?我知道這個問題不是原創的,但我想得到一個簡單的答案,拜託。

微軟已經發布了System.DirectoryServices. 您可以使用以下命令從 NuGet 包管理器獲取它:

Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04

到目前為止,這對我來說效果很好。

截至今天,System.DirectoryServices在 ASP.NET Core 中尚不可用。你可以在這裡閱讀更多。

同時,您可以使用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;
}

由於它有太多的移動元件,我在 GitHub 創建了一個範例項目

引用自:https://stackoverflow.com/questions/45573144