2016-08-30 41 views
0

因此,我們有一個混合系統 - Windows 2012r2 AD,安裝了AD CA,一個自簽名證書,我可以在636上連接和搜索AD ldp.exe,現在我可以從Linux主機連接並搜索ldaps:636(將完整的.pem文件導入到Linux端的ca trust store中)。從Linux到2012r2 Active Directory的LDAPS Java查詢的最低要求是什麼

所以,我知道我部分在那裏 - 我想。 使用帶有java代碼的Linux主機,我已經將公鑰導入到我的javastore中,並且正在嘗試使用該搜索...我每次都得到49和52e。

我的問題是這樣的 - 我絕對必須使用完整的.pem來做ldaps搜索嗎?或者是否有一套所需的證書和搜索機制來執行此操作?

這裏是我的代碼:

<jaas:module className="org.apache.karaf.jaas.modules.ldap.LDAPLoginModule" 
      flags="required"> 

    initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory 

    connection.username=uid=ddf 

    connection.password=password! 

    connection.url=ldaps://abc-ad1.house.thatguy.com:636 

    user.base.dn=cn=users,cn=accounts,dc=house,dc=thatguy,dc=com 

    user.filter=(uid=%u) 

    user.search.subtree=true 

    role.base.dn=CN=NPE,CN=Users,dc=house,dc=thatguy,dc=com 

    role.name.attribute=cn 

    role.filter=(member=uid=%u,cn=groups,cn=compat,dc=house,dc=thatguy,dc=com) 

    role.search.subtree=true 

    role.mapping=admin=group,admin,manager,viewer,webconsole 

    authentication=simple 

    ssl.protocol=SSL 

    ssl.truststore=truststore 

    ssl.algorithm=PKIX 

</jaas:module> 

我思念到底有什麼?

回答

0

所以。 我的問題是在我的腳本。 執行ldaps查找需要公鑰,但該腳本需要Active Directory的特定ldaps功能。

我有UID - 它必須是CN。 因此,LDAP搜索是CN = username,CN = ou,dc = blah,dc = blah,dc = blah。 ldaps搜索是cn = svcldaps,cn = users,dc = house,dc = thatguy,dc = com。

我將user.filter =(uid =%u)更改爲user.filter =(cn =%u)並更正了role.filter =(member = uid =%u,cn = users,dc = house ,dc = thatguy,dc = com)to role.filter =(member = cn =%u,cn = users,dc = house,dc = thatguy,dc = com)

只要我改變該腳本,它能夠正確登錄。

爲自己關閉這個問題是非常甜蜜的。現在我的頭骨會恢復正常,我可以在牆上填充凹痕。和桌子。並更換鍵盤和顯示器。

相關問題