2013-01-20 101 views
0

我正在嘗試檢查由用戶在WPF表單上輸入的遠程計算機的用戶名/密碼是否正確。驗證憑據遠程服務器

我有這些字符串:用戶名,密碼和IP地址。

我看到關於「DirectoryEntry」的一些信息,但無法使其正常工作 - 即使密碼不正確,用戶也始終得到認證。

任何想法?

+0

你在說Active Directory身份驗證嗎?因爲是的,有一種方法可以檢查用戶名/密碼組合是否正確。 –

+0

是的,我正在談論Active Directory身份驗證。你能告訴我怎麼樣? – Idanis

+0

看看這個答案是否有幫助 - http://stackoverflow.com/questions/290548/validate-a-username-and-password-against-active-directory –

回答

0

有多種方式,但我之前已經做了它的方式是這樣的(使用的DirectoryEntry),它是這樣的:

string ldapConnectionString = @"LDAP://[domain_server]/CN=Users,DC=[domain]" 

using (var de = new DirectoryEntry(
    ldapConnectionString, "username", "password", 
    AuthenticationTypes.Secure)) 
{ 
    return de.NativeObject != null; // if not null -> user is valid 
} 

編輯:這段代碼會做的是,驗證組合對活動目錄的用戶名/密碼。我想我誤解了你(如果你的意思是,看用戶是否可以連接到某個特定的服務器 - >正如在HAS PERMISSION中那樣,我不太確定該怎麼做,或者即使可能)。

+0

我得到的服務器沒有運行異常。我是否正確寫入了ldap字符串:'string ldapConnectionString = @「LDAP://10.0.0.160/CN=Users,DC= [10.0.0.160]」;'? – Idanis

+0

我相信它應該是這樣 - > @「LDAP://10.0.0.160/CN=Users,DC=DOMAIN_NAME」; –

+0

假設您擁有「COMPANY.US」域,您可以像這樣 - > @「LDAP://10.0.0.160/CN=Users,DC=COMPANY,DC = US」; –

相關問題