LDAP - 无法使用spring java ldap api启用用户

问题描述 投票:0回答:2

尝试启用用户帐户并获得以下错误。如果我在创建用户(使用java api)和更新密码(在Windows机器上手动使用UI)之后直接转到该Windows机器,如“password1”,然后尝试使用java启用密码,它可以正常工作。

以下是我在创建用户时设置密码的方法

BasicAttribute basicAttribute1=new BasicAttribute("userPassword","password1".getBytes(StandardCharsets.US_ASCII));
            context.setAttribute(basicAttribute1);

然后尝试将用户帐户控制更改为512并获取

 "errorMessage": "[LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12D2, problem 5003 (WILL_NOT_PERFORM), data 0\n\u0000]; nested exception is javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12D2, problem 5003 (WILL_NOT_PERFORM), data 0\n\u0000]; remaining name 'CN=SachinVTendulkar,OU=SDCWASD001,OU=Users,OU=Mycity,OU=Enterprise Support'"

似乎我在使用java创建用户时没有正确设置密码 - 我使用userAccountControl-514创建用户,并使用密码以及名称等其他属性(首先我想在禁用模式下创建)

然后当我尝试启用用户时,遇到此问题。对于同一个用户,如果我去Windows机器并更新密码然后尝试启用java它工作正常 - 所以排除其他问题,如ldaps等。

我创建用户以供参考时记录:

创建用户的日志:创建新用户:JohnSmith,DN:CN = JohnSmith,OU = SDCWASD001,OU = Users,OU = MyCity,OU = Enterprise Support,带上下文:org.springf.ldap.core.DirContextAdapter:dn = CN = JohnSmith,OU = SDCWASD001,OU =用户,OU = MyCity,OU =企业支持{[email protected],描述=测试帐户,CN = JohnSmith,objectclass [0] = top,objectclass [1] = Person,objectclass [2] = organizationalPerson,objectclass [3] = user,userPassword = summer01,sAMAccountName = adsadsa51,userPrincipalName=adsadsa51 @ test.com,givenName = John,displayName = JohnSmith,name = JOHNSMITH,physicalDeliveryOfficeName = 0,sn = Smith,userAccountControl = 514}

然后为了启用用户,我执行以下操作并获得该错误(我在单独调用中执行此操作)

ModificationItem[] mods=new ModificationItem[1];
         mods[0]=new ModificationItem(DirContext.REPLACE_ATTRIBUTE,new BasicAttribute("userAccountControl",Integer.toString(512)));
 ldapTemplate.modifyAttributes(dn, mods);
active-directory spring-ldap
2个回答
0
投票

尝试设置unicodePwd value on the account。就像是:

final byte[] quotedPasswordBytes = ('"'+password+'"').getBytes("UTF-16LE");
    container.put(new BasicAttribute("unicodePwd", quotedPasswordBytes));

0
投票

解决方案是使用SSL进行密码属性更新。

© www.soinside.com 2019 - 2024. All rights reserved.