我遵循(https://wiki.jasig.org/display/CASUM/Best+Practice+-+Setting+Up+CAS+Locally+using+the+Maven2+WAR+Overlay+Method)上的指令來構建CAS服務器,然後是通過LDAP(https://wiki.jasig.org/display/CASUM/LDAP)進行認證的說明。但是,我一直在我的Tomcat日誌中收到以下錯誤消息:CAS服務器認證使用Maven構建和Ellucian Luminis LDAP失敗
[LDAP:error code 34 - Invalid DN];嵌套的例外是javax.naming.InvalidNameException:LDAP:錯誤代碼34 - 無效DN]
我已經驗證了我的綁定用戶憑據是正確的,因爲我能夠執行命令行下面的搜索: ldapsearch -x -H ldaps://fuller.edu:636 -b「ou = People,o = fuller.edu,o = cp」-D「cn = Directory Manager」-w「password」「(sn = Smith) 「cn sn pdsLoginId
該搜索的結果是正確的並且幾乎是瞬間的。
在這一點上,我不完全確定我錯過了什麼。以下是我的deployerConfigContext.xml文件中的片段。
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler"
p:filter="pdsLoginId=%u"
p:searchBase="ou=People,o=fuller.edu,o=cp"
p:contextSource-ref="contextSource" />
<bean id="contextSource"
class="org.springframework.ldap.core.support.LdapContextSource">
<property name="pooled" value="true"/>
<property name="url" value="ldaps://fuller.edu:636" />
<property name="userDn" value="cn=Directory Manager"/>
<property name="password" value="our password"/>
<property name="baseEnvironmentProperties">
<map>
<entry key="com.sun.jndi.ldap.connect.timeout" value="3000" />
<entry key="com.sun.jndi.ldap.read.timeout" value="3000" />
<entry key="java.naming.security.authentication" value="simple" />
</map>
</property>
</bean>
我已經通過幾個帖子在這裏搜索stackoverflow.com,並嘗試了大多數的答案,但沒有運氣。我希望有人能夠發現我的配置中缺少的東西,並讓我朝着正確的方向發展。
我很高興發佈任何更多可能需要查看的代碼。
在此先感謝。
這只是我用於這個問題的例子。 Luminis服務器使用ou = People,o = shoolname.edu,o = cp。我修改了問題,以便它使用我的域名。剛剛在網上發佈我的ldap服務器配置時,我有一陣妄想,當我昨天問這個問題時。 – mike 2013-02-21 15:31:35
你太棒了!我不能相信這只是逃避了額外的時間。但是那樣做了。登錄了我,感謝您的幫助。 – mike 2013-02-21 23:16:28
@Mike很高興幫助,送魚。 – geoffc 2013-02-22 00:19:53