LDAP+JAVA实现账号密码修改(3)

接上文:
获取到ctx后执行用户的修改密码操作:
直接贴代码:
// 512
int UF_NORMAL_ACCOUNT = 0x0200;
// 65536
int UF_DONT_EXPIRE_PASSWD = 0x10000;
// 修改密码策略
ModificationItem[] mods = new ModificationItem[2];
String newQuotedPassword = “”" + req.getPassword() + “”";
byte[] newUnicodePassword = null;
try {
newUnicodePassword = newQuotedPassword.getBytes(“UTF-16LE”);
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
new BasicAttribute(“unicodePwd”, newUnicodePassword));
mods[1] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(“userAccountControl”,
Integer.toString(UF_NORMAL_ACCOUNT + UF_DONT_EXPIRE_PASSWD)));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

                                // Perform the update
                                try {
                                    ctx.modifyAttributes("cn="+req.getLoginName()+ "," + "ou="+basicOU+","+mainOU+","+searchBasic, mods);
                                } catch (NamingException e) {
                                    e.printStackTrace();
                                }
                                try {
                                    ctx.close();
                                } catch (NamingException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }

格式有变化建议贴到IDEA中使用ctrl+shift+F,每个人格式整理热键设置不一,根据自己的调整一下格式,这样更漂亮。

此处说个重点,每次执行完自己的操作记得ctx.close();老司机,不多说原因。

猜你喜欢

转载自blog.csdn.net/m0_37997811/article/details/88967651