簡體   English   中英

在asp.net中的C#中進行LDAP身份驗證

[英]LDAP authentication in C# in asp.net

在我的網絡應用程序中,我有一個login.aspx頁面。 當我輸入用戶名和密碼時,我需要在遠程服務器上驗證它。 它們只向我提供服務器名稱(路徑)和域名(不知道密碼和用戶名)。 如何做呢?

我的web.config

  <authentication mode="Forms">
    <forms loginUrl="Login.aspx" timeout="10"/>
  </authentication>

在ASP.Net MVC中讀過LDAP身份驗證,但在成員資格提供程序中,他們用連接,密碼和用戶名寫了。

我該怎么辦?

就像答案那樣:

連接保護,用戶名和密碼適用於有權代表系統查詢AD的帳戶。 根據網絡的安全性,可能必須進行設置,否則您將無法查詢AD以對用戶進行身份驗證。

這取決於服務器的配置如何進行身份驗證。

如果您需要做的只是驗證用戶是否存在且密碼是否有效,您可以使用以下內容:參數是域名,USER ID和USER密碼。 由於我們沒有查詢任何內容,因此非管理員權限就可以了。

public static bool LogonValid(string ldapDomain, string userName, string password) {
    DirectoryEntry de = new DirectoryEntry(@"LDAP://" + ldapDomain, userName, password);

  try {
    object o = de.NativeObject;
    return true;
  }
    catch (Exception ex) {
    logger.Error(ex.ToString());
    return false;
  }
}

可能的原因是這不適用於所有情況,但到目前為止它對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM