ライブラリを使用して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 Browser Client」を使用して接続できます。
ユーザーは、dc=company、ou=users、uid=username の下に存在します。
ユーザーを非アクティブ化するために、LDAP「ユーザー」でどの属性を追加/変更できますか?
ユーザーを別のグループ (dc=company、ou=deactivatedusers、uid=username など) に移動できますか? しかし、これは好ましいオプションではありません。また、それを行う最善の方法もわかりません。
編集: 使用されている LDAP は次のとおりです: Netscape/Sun/iPlanet