ここには、ldap サーバーを実行し、テスト用に LDIF ファイルをインポートするspring-security の例ldap-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>
[...]
[...]
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プロジェクトをどのように変更する必要がありますか?