Gooday、spring-ldap auto fetch操作フィールド
パスワード(変更された)をユーザーが変更できるツールで作業していました。そして、私は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はいいでしょう。