3

ライブラリを使用して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

4

4 に答える 4

0

ユーザーのパスワードを変更するだけです。パスワード ポリシー オーバーレイを備えた OpenLDAP、またはロックをサポートする別の LDAP サーバーの場合は、ユーザーをロックすることもできます。あなたは本当に見つけなければならないでしょう。

于 2013-04-02T23:49:50.460 に答える
0

ディレクトリ ソフトウェアがパスワード ポリシー機能をサポートしている場合、ユーザーをロック/非アクティブ化するための属性が提供されている可能性があります。そうでない場合は、単純にパスワード属性 (userpassword など) を無効にすることができます。LDAP サーバーは、認証されたバインドが実行されたときに、「不適切な認証」エラーをクライアントに返す必要があります。

于 2013-05-16T15:34:28.537 に答える