rjc*_*arr 7 java tomcat jndi ldap
我有一个ldap服务器,我用它来验证tomcat Web应用程序中的用户.我正在使用JNDIRealm,它在上下文文件中配置,这很好用.
我还需要在ldap中搜索用户信息.我已经想出了如何使用"jndi方法"做到这一点,并且我通过使用哈希表创建自己的jndi上下文使其在tomcat之外正常工作.但是,我不想在代码中配置jndi属性,而是想在Realm配置旁边的上下文文件中创建一个JNDI Rsource.
我想我会做这样的事情:
<Resource
name="ldap"
auth="Container"
type="com.sun.jndi.ldap.LdapCtxFactory"
java.naming.factory.initial="com.sun.jndi.ldap.LdapCtxFactory"
java.naming.provider.url="ldap://localhost:389"
java.naming.security.authentication="simple"
java.naming.security.principal="uid=rjcarr,dc=example"
java.naming.security.credentials="abc123"
/>
Run Code Online (Sandbox Code Playgroud)
但是tomcat告诉我资源无法创建或者当我尝试用这样的东西初始化时:
Context initctx = new InitialContext();
DirContext ctx = (DirContext) initctx.lookup("java:comp/env/ldap");
Run Code Online (Sandbox Code Playgroud)
Tomcat告诉我"无法创建资源实例".我还在我的web.xml文件中添加了正确的resource-ref,所以我认为这不是问题所在.
由于LDAP与JNDI方法一起使用,我假设它应该能够配置为资源,对吧?我错过了什么?
归档时间: |
|
查看次数: |
7008 次 |
最近记录: |