Spring LDAPTemplate を使用して OpenLDAP を制御しようとしています。
LDAP には、グループとユーザーの組織単位があります。グループ関連付けを使用して、新しいユーザーを LDAP にバインドしようとしています。(一般ユーザーアカウント)新しいユーザーをバインドしようとすると、gidNumber
属性オブジェクトにも属性を入れます。しかし、次のようなエラーが発生します。
[LDAP: error code 65 - attribute 'gidNumber' not allowed]; nested exception is javax.naming.directory.SchemaViolationException: [LDAP: error code 65 - attribute 'gidNumber' not allowed]; remaining name 'ou=staff'
これが私がこれまでに試したことです:
DistinguishedName dn = new DistinguishedName();
dn.add("ou", "staff");
Attributes attributes = new BasicAttributes();
attributes.put("objectClass", "inetOrgPerson");
attributes.put("uid", username);
attributes.put("givenName", name);
attributes.put("gidNumber", gidNumber.toString());
attributes.put("sn", surname);
attributes.put("cn", name + " " + surname);
attributes.put("userPassword", password);
ldapTemplate.bind(dn, null, attributes);
ここに私のスキーマがあります:
+--> dc=ibu,dc=edu,dc=tr (5)
---> cn=admin
+--> ou=group (1)
| ---> cn=Academic
---> ou=guest
+--> ou=staff (2)
| ---> cn=John Clark
---> ou=student