2017-01-26 2 views
0

Ich habe eine JNDIRealm in tomcats server.xml konfiguriertZugriff auf JNDIRealm in JSP?

<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" 
    /> 

ich weitere LDAP-Abfragen in einigen JSP-Dateien durchführen möchte (wie E-Mail des Benutzers erhalten, oder Voll Benutzername)

Wie kann ich auf diesen Realm von einer JSP-Datei zugreifen?

grundsätzlich möchte ich eine LdapContext haben, die ich für meine vorhandene ldap-Abfragecode verwenden kann.

Antwort

0

Leider können Sie keine direkten LDAP-Abfragen durchführen.

Aber das ist nicht, weil die LDAPRealm nicht verfügbar ist, weil Sie keine LDAPRealm verwenden können, um beliebige LDAP-Abfragen auszugeben. Sie könnten JMX verwenden, um die LDAPRealm abzurufen, aber Sie können nur exponierte Methoden für dieses Objekt aufrufen.

Wenn Sie beliebige LDAP-Abfragen ausgeben möchten, müssen Sie eine LDAP-Ressource auf andere Weise konfigurieren.

Soweit ich weiß, gibt es nichts wie eine DataSource, die sowohl in einem Realm (wie mit DataSourceRealm) als auch direkt für einen LDAP-Server verwendet werden kann. Sie müssen den LDAP-Server mit einer anderen als der von Tomcat bereitgestellten Methode kontaktieren.

Wenn Sie noch JNDI verwenden möchten eine LDAP-Verbindung zu holen, Sie einen Blick auf diese Frage SO und Antworten haben: Trying to configure LDAP as JNDI Resource in Tomcat

Verwandte Themen