Java 在JSP中访问JNDIRealm?
我已经在tomcats server.xml中配置了JNDIRealmJava 在JSP中访问JNDIRealm?,java,tomcat,ldap,jndi,Java,Tomcat,Ldap,Jndi,我已经在tomcats server.xml中配置了JNDIRealm <Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldaps://xxx" alternateURL="ldaps://xxx" userBase="xxx" userSearch="SamAccountName={0}"
<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查询代码。不幸的是,不,您将无法进行任何直接的ldap查询
但这并不是因为LDAPRealm
不可用,而是因为您不能使用LDAPRealm
发出任意LDAP查询。您可以使用JMX获取LDAPRealm
,但只能调用该对象上的公开方法
如果要发出任意LDAP查询,则必须以其他方式配置LDAP资源
据我所知,没有什么能像数据源
那样既可用于领域(如datasourcealm
),也可直接用于LDAP服务器。您必须使用Tomcat提供的开箱即用之外的东西与LDAP服务器联系
如果您仍然希望使用JNDI获取LDAP连接,可以查看以下问答: