Gooday,spring-ldap auto fetch Поля от
Работая над инструментом, который позволяет пользователям изменять его пароль (сгенерирован). И я перехожу к проблеме litle, где используется Spring Ldap (2.1.0.RELEASE).
Теперь мы хотим установить некоторые из эксплуатационных атрибутов. Это код, я использую:
public void updatePassword(LdapUser ldapUser) {
String[] userOrg = ldapUser.getUserName().split("@");
Name dn = buildDn(userOrg[1], ldapUser.getUserName());
DirContextOperations context = ldapTemplate.lookupContext(dn);
context.setAttributeValue(USER_PASSW, ldapUser.getUserPassword());
if(!context.attributeExists("pwdReset")) {
context.setAttributeValue("pwdReset", "TRUE");
}
ldapTemplate.modifyAttributes(context);
}
Теперь до тех пор операционного атрибута pwdReset никогда не установлен этот бит кода работает отлично. Но если он когда-либо был установлен (и, следовательно, значение FALSE). Вы можете получить код ошибки:
LDAP: Код ошибки 20 - изменить/добавить: pwdReset: значение # 0 уже существует
Теперь я знаю его по дизайну Ldap не дает эксплуатационные свойства назад. Но в Spring Ldap должен быть способ сказать, что вы всегда хотите иметь операционные атрибуты.
Anny sugestions было бы здорово.