0

LDAP に openDJ を使用していますが、openDJ の ds-pwp-account-disabled 属性値を spring ldap テンプレートから変更できません。

spring ldap を介して DirContextOperations クラス オブジェクトを作成しました。spring ldap を使用して ds-pwp-account-disabled 属性の値を取得すると、それが与えられます。しかし、Spring LDAP を介して ds-pwp-account-disabled 属性値を更新することはできません。spring ldap を介して ds-pwp-account-disabled 属性値を更新する方法を教えてください。私はGoogleで非常に多くの記事を読みました.springldapを介したopendjの変更権限の問題である可能性があります。

open DJ を使用して spring ldap をどのように使用しているかを特定するコードを共有しています--

プライベート LdapTemplate ldapTemplate;

ErrorDTO createAccountIfNotExists(Account account){

    DirContextAdapter context = new DirContextAdapter(dn);
    context.setAttributeValues(OBJECTCLASS, new String[] { TOP, USERACCOUNTS });
    mapToContext(account, context);
    try {
        ldapTemplate.bind(context);

    } catch (Exception e) {
    }
    return error;
}

public LdapTemplate getLdapTemplate() {
    return ldapTemplate;
}

public void setLdapTemplate(LdapTemplate ldapTemplate) {
    this.ldapTemplate = ldapTemplate;
}

void mapToContext(Account account, DirContextOperations context) {
    context.setAttributeValue("cn", account.getFirstName());
    context.setAttributeValue("sn", account.getLastName());
    context.setAttributeValue("x-user-id", account.getUserId());
    context.setAttributeValue("mail", account.getEmail());
    context.setAttributeValue("givenname", account.getFirstName());
    context.setAttributeValue("mobile", account.getMobilePhone());
    context.setAttributeValue("telephonenumber", account.getBusinessPhone());
    context.setAttributeValue("title", account.getJobTitle());
    context.setAttributeValue("x-incident-ref", account.getIncidentRef());
    context.setAttributeValue("x-client-category", account.getClientCategory());
    context.setAttributeValue("x-organization", account.getOrganization());
    context.setAttributeValue("facsimiletelephonenumber", account.getFax());
    context.setAttributeValue("x-bureau", account.getBureau());
    context.setAttributeValue("x-company", account.getCompany());
    context.setAttributeValue("ds-pwp-account-disabled", account.getEnabled());
    if (account.getAccountCode() != null) {
        context.setAttributeValue("x-account-code", account.getAccountCode());
        context.setAttributeValue("uid", account.getAccountCode() + "#" + account.getUserId());
    } else {
        context.setAttributeValue("uid", account.getUserId());
    }

}

エラーの下に表示されます - org.springframework.ldap.InvalidAttributeValueException: Malformed 'ds-pwp-account-disabled' attribute value; ネストされた例外は javax.naming.directory.InvalidAttributeValueException: 不正な形式の 'ds-pwp-account-disabled' 属性値です。残りの名前 'uid=coy#user8,ou=ユーザー アカウント'

4

2 に答える 2