如何在as400中替换用户的密码?

时间:2014-03-13 14:28:18

标签: java ldap ibm-midrange

我想用用户的新密码替换as400中的密码。我试图使用以下代码执行此操作,但收到错误为“LDAP:错误代码65 - 对象类违规”

我不明白我是用这段代码得到的:

String newPassword="Passw0rd2";
String quotedPassword = "\"" + newPassword + "\"";
char unicodePwd[] = quotedPassword.toCharArray();
byte pwdArray[] = new byte[unicodePwd.length * 2];

for (int i = 0; i < unicodePwd.length; i++) {
    pwdArray[i * 2 + 1] = (byte) (unicodePwd[i] >>> 8);
    pwdArray[i * 2 + 0] = (byte) (unicodePwd[i] & 0xff);
}

String userDN="complete dn";

String newPassword="Passw0rd2";

System.out.println(charArrayToByteArray(newPassword.toCharArray()));
ModificationItem[] mods = new ModificationItem[1];
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
                new BasicAttribute("userPassword",charArrayToByteArray(newPassword.toCharArray())));
ctx.modifyAttributes(userDN, mods);//error is comming at userDN

1 个答案:

答案 0 :(得分:0)

或者我不理解你,或者有一种简单的方法,而且#34;简单地说#34;发送/引用&#34;远程&#34;命令为CHGUSRPRF USRPRF(用户名)PASSWORD(newpass),你甚至可以创建一个非常小的CL程序,传递这两个参数并执行命令。