При добавлении пользователя в AD имя пользователя содержит запятую, такую как «тестовый пользователь, gao» этого типа. При создании используется синтаксис DN: CN = тестовый пользователь \, gao, DC = пользователь, DC = SG , DC = ...
Мы нашли на Inte rnet запятую, которая должна быть экранирована как \, \ 2 c \ 5 c, и мы все перепробовали, это то же сообщение об ошибке
При добавлении AD возвращает следующее сообщение об ошибке:
javax.naming.InvalidNameException: cn = Tan Wai Ling \, Joyce (Chen WeiLing \, Joyce), ou = Пользователи , ou = SG, dc = infinitumfa, d c=net: [LDAP: код ошибки 34 - 00002081: NameErr: DSID-03050EB3, проблема 2003 (BAD_ATT_SYNTAX), данные 0, наилучшее совпадение: \ n \ t ' CN = Tan Wai Ling \, Джойс (Chen WeiLing \, Joyce), OU = Пользователи, OU = SG, DC = infinitumfa, D C=net '\ n \ u0000]; оставшееся имя 'cn = Tan Wai Ling \, Joyce (Chen WeiLing \, Joyce), ou = Users, ou = SG, dc = infinitumfa, d c=net', обратитесь к администратору
Вот код:
Attributes attrs = new BasicAttributes(true);
attrs.put("objectClass", "user");
attrs.put("samAccountName", user);
attrs.put("sn", name);
attrs.put("displayName", name);
attrs.put("givenName",name);
attrs.put("userPrincipalName", user + "@" + userPrincipalNa);
String password = "\"" + defaultPassword + "\"";
byte[] unicodePassword = password.getBytes("UTF-16LE");
attrs.put("unicodePwd",unicodePassword);
String newName = name.replaceAll(",","\\\\,");
attrs.put("cn", newName);
dc.createSubcontext("cn=" + newName + "," + baseDn, attrs);
Пожалуйста, помогите тем, кто знает эту проблему. Спасибо