我試圖創建一個自定義屬性的LDAP用戶,但我得到一個的Java LDAP用戶創建
javax.naming.directory.SchemaViolationException: [LDAP: error code 65 - 0000207D: UpdErr: DSID-0315166D, problem 6002 (OBJ_CLASS_VIOLATION), data -2131045114
當我從代碼中刪除userId
自定義屬性,它運行完美所以我可以創建用戶,但是這個自定義屬性被第三方應用程序使用,我應該使用該屬性來創建它。
你能否告訴我這個屬性是怎麼回事?可能是什麼問題?由於
這裏是我得到的錯誤代碼:已被修改爲「單自定義屬性」
Attributes container = new BasicAttributes();
Attribute objClasses = new BasicAttribute("objectClass");
objClasses.add("top");
objClasses.add("person");
objClasses.add("organizationalPerson");
objClasses.add("user");
this.cnValue = new StringBuffer(firstName).append(" ").append(lastName).toString();
Attribute cn = new BasicAttribute("cn", cnValue);
Attribute sAMAccountName = new BasicAttribute("sAMAccountName", userName);
Attribute principalName = new BasicAttribute("userPrincipalName", userName + "@" + DOMAIN_NAME);
Attribute givenName = new BasicAttribute("givenName", firstName);
Attribute sn = new BasicAttribute("sn", lastName);
Attribute uid = new BasicAttribute("uid", userName);
Attribute sshPublicKey = new BasicAttribute("sshPublicKey", "AAAAAAAAAAAAAAAAAAAAAAAA");
Attribute userPassword = new BasicAttribute("userpassword", password);
container.put(objClasses);
container.put(sAMAccountName);
container.put(principalName);
container.put(cn);
container.put(sn);
container.put(givenName);
container.put(uid);
container.put(userPassword);
container.put(sshPublicKey);
container.put("loginId", "aaa"); //When I remove this, user can be created successfully
this.context.createSubcontext(getUserDN(cnValue, organisationUnit), container);