【问题标题】:access JNDIRealm in JSP?在 JSP 中访问 JNDIRealm?
【发布时间】:2017-01-26 10:38:46
【问题描述】:

我在tomcats server.xml中配置了一个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"
   />

我想在一些 JSP 文件中执行进一步的 ldap 查询(例如获取用户的电子邮件,或完整的用户名)

如何从 JSP 文件访问此领域?

基本上我想要一个LdapContext,我可以将它用于我现有的 ldap 查询代码。

【问题讨论】:

    标签: java tomcat ldap jndi


    【解决方案1】:

    很遗憾,不,您将无法进行任何直接 LDAP 查询。

    但这并不是因为LDAPRealm 不可用,而是因为您不能使用LDAPRealm 来发出任意LDAP 查询。您可以使用 JMX 获取 LDAPRealm,但您只能调用该对象上的公开方法。

    如果您想发出任意 LDAP 查询,则必须以其他方式配置 LDAP 资源。

    据我所知,没有什么能像DataSource 一样既可用于领域(如DataSourceRealm)也可直接用于LDAP 服务器。您必须使用 Tomcat 开箱即用以外的方式联系 LDAP 服务器。

    如果您仍想使用 JNDI 来获取 LDAP 连接,您可以查看这个 SO 问题和答案:Trying to configure LDAP as JNDI Resource in Tomcat

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多