簡體   English   中英

如何使用C#在LDAP中進行身份驗證

[英]How to authenticate in LDAP with C#

我非常驚訝,因為我5年前建立了LDAP連接,但是突然之間我無法連接到ldap。 LDAP數據是:

LDAP: LDAP://172.16.0.181:390/dc=asmet,dc=local
Username: cn=zentyalro,dc=asmet,dc=local
Password: EBsmOpCoIytamGe=Yret

接下來是我用於身份驗證的代碼:

bool authentic = false;
try
{
    DirectoryEntry entry = new DirectoryEntry("LDAP://172.16.0.181:390/dc=asmet,dc=local",
        @"cn=zentyalro,dc=asmet,dc=local", "EBsmOpCoIytamGe=Yret");
    object nativeObject = entry.NativeObject;
    authentic = true;
}
catch (DirectoryServicesCOMException ex)
{
}

錯誤是:

指定的DN語法無效。

真的我不知道為什么會這樣。 更奇怪的是,使用任何LDAP資源管理器工具都可以進行身份​​驗證,但無法通過代碼進行身份驗證。 為什么?

我認為這是因為您的語法。 請嘗試以下代碼:

bool authentic = false;

using (var context = new PrincipalContext(ContextType.Domain, "172.16.0.181:390", username  , password))
        {

            if (context.ValidateCredentials(username, password) == true)
            {
                authentic = true;
            }
}

暫無
暫無

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

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