1

tomcat/jndi で認証ユーザーを使用して、グループ検索のために LDAP にバインドするにはどうすればよいですか?

問題:

  • サーブレットに対する単純な FORM ベースの Tomcat/jndiRealm/ldap 認証
  • ユーザー適切に認証されるようにセットアップ済み (Bind モード)
  • ただし、ldap サーバーでは、匿名バインドが関心のあるグループを表示することを許可していません。現在認証中のユーザーは、これらのグループを表示できます。
  • connectionName と connectionPassword を使用したくない

現在認証中のユーザーがロール検索を実行できるようにしたいのですが、Bind モードでも、wireshark は最初のユーザー認証後に匿名バインドが行われることを示しています。

機能するが、私が望むものではない回避策:

  • グループを表示できるユーザーの connectionName と connectionPassword を使用する
  • レルムに commonRole を設定する

(私はLDAP サーバーを制御できません)

私の(動作していない)server.xmlから

<Realm className="org.apache.catalina.realm.JNDIRealm"
   connectionURL="ldap://localhost:389"
   userPattern="cn={0},ou=people,o=myO,dc=myDc,dc=com"
   roleBase="ou=groups,o=myO,dc=myDc,dc=com"
   roleName="cn"
   roleSearch="member={0}" />
4

1 に答える 1

0

LDAP サーバーを制御できず、Tomcat の JNDIRealm が実際にそのように動作する場合は、接続名/パスワードを使用するしかないようです。JNDIRealm のソース コードを確認するのは簡単です。大きなファイルではありません。

于 2012-07-10T12:54:59.373 に答える