在Grails項目中,我需要連接Active Directory並搜索用戶(身份驗證目的)。連接到Active Directory並搜索用戶
我在LDAP和Active Directory中使用Groovy LDAP API或更大。
我公司給了我一個用戶憑證用於測試
OU=Vendors,DC=company,DC=net
CN=Testing -2
sAMAccountName=test2
password=test123
ip=LDAP://xx.xx.xx.xx:389
所以對於我的嘗試
LDAP ldapConn = LDAP.newInstance("LDAP://xx.xx.xx.xx:389", "CN=Testing -2,OU=Vendors,DC=company,DC=net", "test123")
try{
def results = ldapConn.search('(CN=Testing -2)', 'OU=Vendors,DC=company,DC=net', SearchScope.ONE)
println "${results.size} entries found:"
println results
}
catch(Exception ex){
println ex.printStackTrace()
}
上面的代碼工作,我使用CN=Testing -2
與Active Directory的結合,但公司員工始終使用sAMAccountName
進行登錄。
所以,當我試圖與sAMAccountName賦= TEST2和密碼綁定
LDAP ldapConn = LDAP.newInstance("LDAP://xx.xx.xx.xx:389", "sAMAccountName=test2,OU=Vendors,DC=company,DC=net", "test123")
try{
def results = ldapConn.search('(sAMAccountName=test2)', 'OU=Vendors,DC=company,DC=net', SearchScope.ONE)
println "${results.size} entries found:"
println results
}
catch(Exception ex){
println ex.printStackTrace()
}
我越來越
java.lang.NullPointerException
Error |
at org.apache.directory.groovyldap.LDAP.search(Unknown Source)
Error |
at org.apache.directory.groovyldap.LDAP$search.call(Unknown Source)
Error |
讓我怎麼繼續,test2的用戶總是用戶自己sAMAccountName (test2)
與登錄不CN (Testing -2)
。