13

ここには、ldap サーバーを実行し、テスト用に LDIF ファイルをインポートするspring-security の例ldap-xmlがあります。

https://github.com/spring-projects/spring-security/blob/master/samples/ldap-xml/src/main/webapp/WEB-INF/applicationContext-security.xml

[...]
    <s:ldap-server ldif="classpath:users.ldif" port="33389"/>

    <s:authentication-manager>
        <s:ldap-authentication-provider
            group-search-filter="member={0}"
            group-search-base="ou=groups"
            user-search-base="ou=people"
            user-search-filter="uid={0}"
        />
        <s:authentication-provider ref='secondLdapProvider' />
    </s:authentication-manager>
[...]

https://github.com/spring-projects/spring-security/blob/master/samples/ldap-xml/src/main/webapp/WEB-INF/classes/users.ldif

[...]
dn: uid=rod,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Rod Johnson
sn: Johnson
uid: rod
userPassword: koala
[...]

user-search-criteria が uid ではなく sAMAccountName に基づいているこの作業例を変更する必要があります。users.ldif を次のように変更します。

[...]
dn: cn=rod,ou=people,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Rod Johnson
sn: Johnson
sAMAccountName: rod
userPassword: koala
[...]

ただし、users.ldif のインポート時に apacheds に警告が表示されます。

OID for name 'samaccountname' was not found within the OID registry

LDAP スキーマを変更して、この新しい属性 sAMAccountName を追加する必要があるようです。ldap-xml の例でそれを行う方法は?

この要旨の例では、「changetype: add」を使用してスキーマを変更しています。ただし、これを users.ldif に追加すると、エラーが発生しますWe cannot have entries when reading a file which already contains changes。要点の例では、コマンドを実行しているスキーマを更新することに言及していますldifdeこれを行うには、 ldap-xmlプロジェクトをどのように変更すればよいですか?

users.ldif に sAMAccountName 属性を含めることができるように、 ldap-xmlプロジェクトをどのように変更する必要がありますか?

4

2 に答える 2