我正在使用一个库来验证 LDAP 用户,其代码如下:
public void authUser(String username, String pwd)
throws Exception
{
try
{
Properties env = getEnvironmentForContext();
env.put("java.naming.security.principal", "uid=" +
username + ",ou=users, dc=company"));
env.put("java.naming.security.credentials", pwd);
context = getContext(env);
System.out.println("Authentication Succeeded");
}
catch (Exception e)
{
System.out.println("Authentication Failed");
throw e;
}
}
请注意,我无法修改上述验证码。它来自外部库。
但是,我想停用一些用户(而不是删除它们),以便身份验证失败。我正在使用 LDAP(不是 Active Directory)。虽然不知道它是什么 LDAP 软件,但我可以使用“LDAP 浏览器客户端”连接到它。
用户存在于:dc=company、ou=users、uid=username
我可以在 LDAP“用户”上添加/更改什么属性来停用用户。
我可以将用户移动到不同的组,例如:dc=company、ou=deactivatedusers、uid=username?但这不是首选选项,而且我不确定最好的方法。
编辑:正在使用的 LDAP 是:Netscape/Sun/iPlanet