2010-03-30 45 views
1

我有一個Java應用程序,可以通過使用NTLM名稱(這是他們習慣的 - 這是一項要求)將用戶登錄到AD LDAP服務器中,從而向LDAP進行身份驗證。Active Directory:使用純LDAP的用戶UPN或DN作爲NTLM名稱?

我現在還需要進行授權,因此需要爲用戶(DN或UPN應該工作)找到一個森林唯一標識符,從中我可以進一步查詢目錄。

該方法需要是絕對可移植的,即使AD以不尋常的方式構建,否則我可以只進行字符串替換並搜索UPN「$ {ntlm-user} @ $ {ntlm-domain }。$ {configured-trailing-domain}「

我該怎麼做,使用純LDAP?

目前,我使用的java.naming.directory包,我想繼續使用,因爲它不會拋出問題時不與DN綁定但用NTLM名稱登錄?

回答

1

首先,除非您在Windows 2003 Server環境或更高版本中運行,否則UPN不是AD所需的字段。 Win2000域(實際或功能)可能沒有UPN。

sAMAccount名稱是在整個不同版本的LDAP中完全可移植的唯一必需字段。但是它通常使用聯同NetBIOS域名

(FOOBAR \ JSKEET)

使用純LDAP,你可以做一個綁定(請務必使你做安全認證,您可以設置密封和安全的標誌! )與UPN或sAMAccount名稱(甚至全DN如果這就是你所擁有的)。

相關問題