2017-01-26 15 views
0

私は(ユーザーの電子メール、または完全なユーザー名を取得するように)いくつかのJSPファイルでさらにLDAPクエリを実行したいと思いますTOMCATSのserver.xmlJSPのJNDIRealmにアクセスしますか?

<Realm className="org.apache.catalina.realm.JNDIRealm" 
      connectionURL="ldaps://xxx" 
      alternateURL="ldaps://xxx" 
      userBase="xxx" 
      userSearch="SamAccountName={0}" 
      userSubtree="true" 
      roleBase="xxx" 
      roleName="CN" 
      roleSearch="(member={0})" 
      connectionName="xxx" 
      connectionPassword="xxx" 
    /> 

でJNDIレルムを設定している

どのようにすることができますJSPファイルからこの領域にアクセスしますか?

私は既存のLDAPクエリコードに使用できるLdapContextを基本的に持っています。

答えて

0

残念ながら、いいえ、直接LDAPクエリを作成することはできません。

LDAPRealmが利用できないためではありません。なぜなら、LDAPRealmを使用して任意のLDAPクエリを発行することができないからです。あなたはLDAPRealmを取得するのにJMXを使うことができますが、そのオブジェクトに対して公開されたメソッドしか呼び出せません。

任意のLDAPクエリを発行する場合は、他の方法でLDAPリソースを設定する必要があります。

私が知る限り、DataSourceのようなものはありません。これは、両方ともレルムで(DataSourceRealmのように)使用することも、LDAPサーバーに直接使用することもできます。 Tomcatがすぐに提供できるもの以外のものを使用してLDAPサーバーに連絡する必要があります。

LDAP接続を取得するためにJNDIを使用したい場合は、このSOの質問と回答をご覧ください。Trying to configure LDAP as JNDI Resource in Tomcat

関連する問題