LDAP认证的两种方式

2023-11-04

LDAP认证的两种方式
[第一种] FastBindLdapAuthenticationHandler
这种认证处理器一般用于DN是由用户名直接组成的,比如:uid=%u,ou=dev,dc=micmiu.com,dc=com ,其中 %u 就是CAS登录的用户名。
修改web的配置文件 WEB-INF\ deployerConfigContext.xml
首先在<beans> 跟节点下增加 bean ContextSource  的配置:
  1. <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">  
  2.   <property name="pooled" value="false"/>  
  3.   <property name="url" value="ldap://127.0.0.1:389" />  
  4.   <property name="userDn" value="cn=Manager"/>  
  5.   <property name="password" value="secret"/>  
  6.   <property name="baseEnvironmentProperties">  
  7. <map>  
  8.   <entry key="com.sun.jndi.ldap.connect.timeout" value="3000" />  
  9.   <entry key="com.sun.jndi.ldap.read.timeout" value="3000" />  
  10.   <entry key="java.naming.security.authentication" value="simple" />  
  11. </map>  
  12.   </property>  
  13. </bean>  
  在<bean id=”authenticationManager” /> 下找到 SimpleTestUsernamePasswordAuthenticationHandler 的配置,修改成如下:
  1. <bean class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler">  
  2. <property name="filter" value="uid=%u,ou=Developer,dc=micmiu,dc=com" />  
  3. <property name="contextSource" ref="contextSource" />  
  4. </bean>  
[第二种] BindLdapAuthenticationHandler 
这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同样适用,下面我们配置的示例是用mail)。
修改web的配置文件 WEB-INF\ deployerConfigContext.xml
同样在<beans> 跟节点下增加 bean ContextSource  的配置:
  1. <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">  
  2. <property name="anonymousReadOnly" value="false" />  
  3. <property name="password" value="secret" />  
  4. <property name="pooled" value="true" />  
  5. <property name="urls">  
  6. <list>  
  7. <value>ldap://127.0.0.1:389</value>  
  8. </list>  
  9. </property>  
  10. <property name="userDn" value="cn=Manager,dc=micmiu,dc=com" />  
  11. <property name="baseEnvironmentProperties">  
  12. <map>  
  13. <!-- LDAP SSL访问配置  
  14. <entry key="java.naming.security.protocol" value="ssl" />  
  15. -->  
  16. <entry key="java.naming.security.authentication" value="simple" />  
  17. </map>  
  18. </property>  
  19. </bean>  
在<bean id=”Manaauthenticationger” /> 修改认证 bean 的配置,修改成如下:
  1. <bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">  
  2. <property name="filter" value="mail=%u" />  
  3. <property name="searchBase" value="dc=micmiu,dc=com" />  
  4. <property name="contextSource" ref="contextSource" />  
  5. <!-- 允许多个账号-->  
  6. <property name="allowMultipleAccounts" value="true" />  
  7. </bean>  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LDAP认证的两种方式 的相关文章

随机推荐

  • PCI-E接口的学习

    一 pci e接口的概念 PCI E全称PCI Express peripheral component interconnect express 外部设备互连总线接口 由intel提出并推广 所连接的设备分配独享通道带宽 不共享总线带宽
  • 梯度下降法的三种解释(BGD,SGD,MBGD).

    机器学习里面 梯度下降法可以说是随处可见 虽然它不是什么高大上的机器学习算法 但是它却是用来解决机器学习算法的良药 我们经常会用到梯度下降法来对机器学习算法进行训练 在很多介绍梯度下降的书籍里 我们看到这样的几个英文单词缩写 BGD SGD
  • 互联网JAVA面试常问问题(一)

    一 为什么要创建线程池 线程是稀缺资源 使用线程池可以减少创建和销毁线程的次数 每个工作线程都可以重复使用 可以根据系统的承受能力 调整线程池中工作线程的数量 防止因为消耗过多内存导致服务器崩溃 二 创建线程池参数有哪些及其含义 publi
  • angular4点击事件监听_事件与接口

    首先来讲一下接口 接口的格式是 interface public interface 接口名 接口中有几点注意事项值得特别提醒 1 接口中不能定义变量 2 接口中的方法没有方法体 3 接口中不能实例化对象 4 类的接口可以实现多个 怎么实现
  • 小组活动学习

    0区别问题类型 问题是常规问题还是非常规问题 常规 1 理解问题需求2 理解相关概念3 搜索intenet book ask4 测试 实践 非常规1理解问题 未知 已知 条件2 拟定方案3执行方案4 回顾 警惕 需求不明朗就行动 思绪紊乱
  • C++Primer第五版习题答案(三)

    第三章 字符串 向量和数组 3 2 3 4 3 5 3 6 3 20 3 22 3 23 3 24 3 31 3 32 3 35 3 36 3 39 3 40 3 41 3 42 对于P115中int p 4 ia 为什么不是int p 3
  • Richer Convolutional Feature for Edge Detection

    Richer Convolutional Feature for Edge Detection 文章链接为Richer Convolutional Feature for Edge Detection 这篇文章通过结合所有有意义的卷积的fe
  • 剑指offer 学习笔记 礼物的最大价值

    面试题47 礼物的最大价值 在一个mxn的棋盘的每一格都放有一个礼物 每个礼物都有一定的价值 价值大于0 你从棋盘的左上角开始拿格子里的礼物 并每次向右或者向下移动一格 直到到达棋盘的右下角 给定一个棋盘和上面的礼物 请计算你最多能拿到多少
  • 基于Hypervisor智能驾舱的AUTOSAR解决方案(1)

    引言 当今的汽车制造商正竞相通过使用人机界面 HMI 基于云的服务 车辆自组织网络 VANET 和自动驾驶等技术在未来的车辆中部署这些创新且吸引眼球的新功能 这些新技术增加了车辆电气和电子 E E 架构的复杂性 并要求软件系统要支持汽车间及
  • 批量网页内容爬虫(附正则表达式)

    最近 我可爱的女朋友有一个新的任务 需要复制网页上的部分内容 多达1500多页 到word文档中 既有文字 又有图片 十分复杂 是不是可以使用爬虫的方法解决一下子呢 首先分析网页 每一页有30个新闻文章 首先爬取页面内的文章的链接 分析页面
  • hadoop关不掉namenode的解决办法

    原文地址 https blog csdn net arrow8071 article details 51365843 问题描述 部门的Hadoop集群运行有一个多月了 今天需要做点调整 但是突然发现Hadoop不能正常关闭 Hadoop版
  • spring内部bean和级联注入属性

    这里内部bean提供一种方法 级联注入提供两种方法 首先我们创建个员工类 package cn zsp spring5 bean public class Emp private String ename private String ge
  • 线性滤波、非线性滤波区别

    数字图像处理线性滤波 输出图像fo x y T fi x y T是线性算子 即 输出图像上每个像素点的值都是由输入图像各像素点值加权求和的结果 非线性滤波的算子中包含了取绝对值 置零等非线性运算 线性滤波器的原始数据与滤波结果是一种算术运算
  • sqlserver2019安装注意事项-最后一步机器学习无法验证通过,机器学习python

    sqlserver2019安装教程 先附上下载地址 百度云下载链接 链接 https pan baidu com s 1bhWZbkxdAjHxp3vd4MmKzQ 提取码 1sku 在线下载地址 http edu 51minicloud
  • 微信公众号支付(三):页面调用微信支付JS并完成支付

    一 调用微信的JS文件 1 首先要绑定 JS接口安全域名 公众号设置 的 功能设置 中 2 引入JS文件 备注 支持使用 AMD CMD 标准模块加载方法加载 1 3 通过config接口注入权限验证配置 1 wx config 2 deb
  • VB语言入门书籍推荐(15本)

    1 Visual Basic最佳实践 Bill Sempf Kent Sharkey 本书详细介绍了如何利用VB语言编写高效 可维护的代码 并展示了很多实际应用场景的最佳实践 2 Beginning Microsoft Visual Bas
  • 悟空CRM的环境搭建

    记录悟空CRM从零开始搭建的过程 1 悟空CRM官网 2 JAVA版介绍文档 中介绍了Java版CRM系统的安装简介 3 通俗简介 悟空CRM采用前后端分离模式 前端使用vue开发 后端使用java 此次IDE为Eclipse 数据库使用M
  • PlatformIO - 静态代码分析(Static Code Analysis)

    关于 静态代码分析 相信大部分的嵌入式开发者或多或少在日常的开发中都有所了解 但可能在实际的开发中我们使用的并不多也不习惯通过工具对我们编写的代码进行静态扫描而是完全依赖于在开发板上运行然后基于运行结果来判断自己所编写的代码的好坏 是否有b
  • 调用百度“车牌识别”API接口(go语言实现)

    调用百度的api识别车牌 没有GPU的机器 也没有大量的有标注的车牌数据 所以就只好拿别人现成的车牌识别api接口 具体的识别原理就不说了 只是调别人的接口而已 具体的调用文档百度已经给出 http ai baidu com docs OC
  • LDAP认证的两种方式

    LDAP认证的两种方式 第一种 FastBindLdapAuthenticationHandler 这种认证处理器一般用于DN是由用户名直接组成的 比如 uid u ou dev dc micmiu com dc com 其中 u 就是CA