`
zhangxing6222
  • 浏览: 7025 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Tomcat 连接 LDAP 服务器 加密

阅读更多
最近研究tomcat连接ldap服务器,遇到一个问题!个人感觉这个问题很容易被忽略,所以提出来,或许对大家有用!
软件环境:
tomcat5.5.27
apacheds1.0

我通过下面的xml连接ldap
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Security/*" >
  <Realm className="org.apache.catalina.realm.JNDIRealm"
    digest="SHA"
    debug="99"
    connectionName="uid=admin,ou=system"
    connectionPassword="secret"
    connectionURL="ldap://127.0.0.1:10389"
    roleBase="ou=crews,ou=groups,o=sevenSeas"
    roleName="cn"
    roleSearch="(uniqueMember={0})"
    roleSubtree="false"
    userPassword="userPassword"
    userPattern="cn={0},ou=people,o=sevenSeas"
  />
</Context>

这个代码apacheds提供的文档中有(http://directory.apache.org/apacheds/1.0/42-apache-tomcat.html),可以参考。或者参考tomcat下的jsp-examples这个project。
需要注意的问题是:
apacheds中的ldap数据有些部分是加密的,尤其是 userpassword,但apacheds等ldap服务器提供的文档和demo却都是以ldap服务器里所有的数据都没加密为前提,所以很多时候我们按照文档的demo来做,却得不到正确的结果。
如果要得到正确的结果就需要确认一点是否使用加密,digest="SHA"这个属性就是用来表示使用什么加密方式的,如果没有这个属性,JDNIRealm就直接使用输入的明文和服务器上的数据比较,不然则使用digest指定的加密方式加密输入的明文后和服务器的数据比较!
附件是我的测试代码,By the way,和ldap的连接配置也可以单独放到特定的目录文件中,大家可以看看我的测试代码!
分享到:
评论

相关推荐

    不加密 从无到有搭建中小型互联网公司后台服务架构与运维架构

    无加密版本。如网盘失效请评论说明。我会补新的网盘。您可以再次下载。不需要积分的 本课程设计的技术及工具如下: 后台服务架构:dubbo、spring-boot、spring mvc、...web服务器:tomcat、nginx 容器引擎:docker

    java开源包4

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    Spring Security 中文教程.pdf

    19.4.2. 链接到LDAP服务器 19.4.3. LDAP搜索对象 19.4.3.1. FilterBasedLdapUserSearch 19.4.4. LdapAuthoritiesPopulator 19.4.5. Spring Bean配置 19.4.6. LDAP属性和自定义UserDetails 20. JSP标签库...

    SpringSecurity 3.0.1.RELEASE.CHM

    18.4.2. 链接到LDAP服务器 18.4.3. LDAP搜索对象 18.4.3.1. FilterBasedLdapUserSearch 18.4.4. LdapAuthoritiesPopulator 18.4.5. Spring Bean配置 18.4.6. LDAP属性和自定义UserDetails 19. JSP标签库 19.1...

    Spring Security-3.0.1中文官方文档(翻译版)

    Spring Security-3.0.1 中文官方文档(翻译版) 这次发布的Spring Security-3.0.1 是一个bug fix ... 使用&lt;ldap-server&gt; 元素定义LDAP 服务器 B.3.2.2. &lt;ldap-provider&gt; 元素 B.3.2.3. &lt;ldap-user-service&gt; 元素

    java开源包1

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包11

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包2

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包3

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包6

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包5

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包10

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包8

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包7

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包9

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包101

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    Java资源包01

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    JAVA上百实例源码以及开源项目

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    JAVA上百实例源码以及开源项目源代码

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

Global site tag (gtag.js) - Google Analytics