2017-01-26 9 views
0

Я устанавливал JNDIRealm в Tomcats Server.xmlдоступ JNDIRealm в 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" 
    /> 

Я хотел бы выполнить дополнительные запросы LDAP в некоторых файлах JSP (например, получать электронную почту пользователя или полное имя пользователя)

как я могу получить доступ к этой области из JSP-файла?

В основном я хотел бы иметь LdapContext, который я могу использовать для моего существующего кода запроса ldap.

ответ

0

К сожалению, для вас нет, вы не сможете делать какие-либо прямые запросы LDAP.

Но это не потому, что LDAPRealm недоступен, потому что вы не можете использовать LDAPRealm для выдачи произвольных запросов LDAP. Вы можете использовать JMX для получения LDAPRealm, но вы можете только вызывать выставленные методы для этого объекта.

Если вы хотите выпускать произвольные запросы LDAP, вам придется настроить ресурс LDAP каким-либо другим способом.

Насколько я знаю, нет ничего похожего на DataSource, который может использоваться как в области (например, с DataSourceRealm), так и непосредственно для сервера LDAP. Вам нужно будет связаться с сервером LDAP с помощью чего-то другого, кроме того, что Tomcat может предоставить из коробки.

Если вы все еще хотите использовать JNDI для извлечения соединения LDAP, вы можете посмотреть на это так, вопрос и ответы: Trying to configure LDAP as JNDI Resource in Tomcat