1

CASサーバーを構築するために( https://wiki.jasig.org/display/CASUM/Best+Practice+-+Setting+Up+CAS+Locally+using+the+Maven2+WAR+Overlay+Method )の指示に従いました。 、次にLDAPを介した認証の手順(https://wiki.jasig.org/display/CASUM/LDAP)。ただし、Tomcatログに次のエラーメッセージが表示され続けます。

[LDAP:エラーコード34-無効な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でいくつかの投稿を検索し、ほとんどの答えを試しましたが、運がありませんでした。誰かが私の構成に欠けているものを見つけて、正しい方向に送ってくれることを願っています。

あなたが見る必要があるかもしれないコードをこれ以上投稿できてうれしいです。

前もって感謝します。

4

1 に答える 1