Java 在HPUX LDAP目录服务器中解锁用户对象

Java 在HPUX LDAP目录服务器中解锁用户对象,java,ldap,openldap,hp-ux,Java,Ldap,Openldap,Hp Ux,我正在通过java代码访问HP UX目录服务器,以便在目录服务器中重置和解锁锁定的用户帐户 这是我重置用户帐户密码的代码 openConnection(details); loadUserInformation((String)details.get("END_USER_NAME")); ModificationItem[] mods = new ModificationItem[1]; Attribute mod0 = new BasicAttribute("userpassword",

我正在通过java代码访问HP UX目录服务器,以便在目录服务器中重置和解锁锁定的用户帐户

这是我重置用户帐户密码的代码

openConnection(details);

loadUserInformation((String)details.get("END_USER_NAME"));

ModificationItem[] mods = new ModificationItem[1];

Attribute mod0 = new BasicAttribute("userpassword", (String)details.get("NEW_PASSWORD"));

mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, mod0);

connection.modifyAttributes(user, mods);

closeConnection();

但我无法为给定用户执行帐户解锁,因为我在LDAP浏览器中找不到用于帐户锁定的LDAP属性。

条目的对象类定义了允许的属性。您应该查找条目的对象类,并尝试从中找到正确的属性。

看起来HPUX Directory server是Red hat Directory server的克隆

首先,您尝试执行哪种解锁? 根据您设置密码策略的方式,帐户可能会被不同方面锁定

如果帐户被入侵者检测到锁定,则需要执行以下操作:

dn: uid=scarter,ou=people,dc=example,dc=com
changetype: modify
delete: passwordRetryCount
-
delete: accountUnlockTime

-jim

正确的答案是首先配置密码策略,然后配置子树级或基于用户的密码策略和帐户锁定策略,然后使用户帐户锁定并尝试以下代码将解锁锁定的帐户

ModificationItem[] mods = new ModificationItem[2];
mods[0] = new ModificationItem(DirContext.REMOVE_ATTRIBUTE, new BasicAttribute("passwordRetryCount"));
mods[1] = new ModificationItem(DirContext.REMOVE_ATTRIBUTE, new BasicAttribute("accountUnlockTime"));
connection.modifyAttributes(user, mods);

是的,它显示了一些属性,但是如果我试图通过上面引发空指针异常的代码访问它们或更改它们(您是否可以尝试使用某种LDAP编辑器编辑该属性,例如Apache Directory Studio()?条目的对象类没有定义操作属性,这就是问题所在,特别是没有定义密码策略操作属性。谢谢。我正在查找由错误密码尝试导致的帐户锁定。需要通过java访问目录服务器,因此您能否详细说明如果帐户被锁定,以及如何使用属性来解锁帐户,则将显示ttribute…我没有可用的HPUX(或RedHat),但我会查找上面提到的属性。(passwordRetryCount和accountUnlockTime)谢谢大家,我已经完成了HPUX中的解锁问题,我遇到了服务器中的配置问题,现在它在java中工作。谢谢大家