Spring ldap 2.3.1.RELEASE 目录

本贴最后更新于 1518 天前,其中的信息可能已经斗转星移
1. 介绍
    1. 概览
    2. 传统Java LDAP VS LdapTemplate
    3. 2.2新特性
    4. 2.3新特性
    5. 2.4新特性
    6. 打包概览:你将会用到的依赖包
    7. 开工
    8. 支持:社区和项目地址
    9. 致谢
2. 简单使用
    1. 使用 AttributesMapper 进行查询、检索
    2. 构建 LDAP 查询
    3. 动态构建 Distinguished Names(译:专用名称)
        1. LdapName VS LdapNameBuilder
        2. LdapUtils
    4. 绑定和解绑
        1. 插入数据即为绑定
        2. LdapTemplate
        3. 删除即为解绑
    5. 修改
        1. 修改即重新绑定
3. 简化属性操作及DirContextAdapter
    1. 介绍
    2. 用 ContextMapper 进行检索和查询
    3. 使用 DirContextAdapter 添加和修改数据
    4. DirContextAdapter 和作为属性值的 Distinguished Names 
        1. Distinguished name 会忽略空格,且不区分大小写,不能简单的从字符串相等性判断值
如果一个 member 属性有个值:cn=John Doe,ou=People(注意没有空格)
调用 ctx.addAttributeValue("member", "CN=John Doe, OU=People") 会认为member有两个值,
正确的使用方式:LdapUtils.newLdapName("CN=John Doe, OU=People")
        2. LdapNameBuilder
4. Object-Directory Mapping(ODM)
    1. 介绍:对照ORM框架,spring ldap 提供了 LdapOperators
    2. 注解:@Entry,@Id,@Attribute, @DnAttribute,@Transient
    3. ODM 和 专用名词的属性
5. 增强LDAP查询
    1. LDAP Query Builder 参数:介绍查询时有用的参数,让查询更灵活
    2. 过滤条件:就是查询条件
    3. 硬编码过滤:适用于spring不支持的查询条件
6. 配置
    1. 介绍:推荐使用xml配置
    2. ContextSource 配置及其参数
        1. DirContext 认证:使用DirContext通常需要认证
            1. spring提供另种TLS认证方式:
DefaultTlsDirContextAuthenticationStrategy:支持优雅关闭TLS通道,这在使用native-poolnative-pooling时很重要
ExternalTlsDirContextAuthenticationStrategy
            2. 使用 AuthenticationSource 实现自定义 主题和凭证管理(Custom Principal and Credentials Management)
        2. LDAP池
        3. 增强 ContextSource 配置:自定义环境变量
    3. LdapTemplate 配置
    4. 获取基础LDAP路径的引用(base LDAP path):以后所有的操作都相对这个path
7. Spring LDAP 仓库
    1. 概述
已内部支持 [spring data ldap](https://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html)
由于LDAP协议规定,不支持分页和排序
    2. QueryDSL 的支持
8. 连接池
    1. 介绍
LDAP的连接池支持参考:[Java LDAP pooling support](http://java.sun.com/products/jndi/tutorial/ldap/connect/pool.html)
    2. DirContext 验证
    3. 连接池配置
    4. 连接池Pool2配置
可以学习下common-pool 和 common-pool2 的区别
    5. 配置
        1. 校验的配置
    6. 已知的问题
        1. 自定义认证
9. 添加缺少的重载API方法
    1. 实现自定义搜索方法
    2. 实现其他的自定义Context方法
10. 处理DirContext
    1. 自定义 DirContext 前置/后置处理
    2. 实现请求处理器DirContextProcessor
    3. 查询结果分页
目前一些LDAP服务已经支持了 PagedResultsControl。
在使用分页的时候,必须使用cookie保持请求轨迹,以此实现分页请求调用,这里就用到了上一节讲到的DirContext前置/后置处理。
PagedResultsDirContextProcessor
11. 事务
    1. 介绍
spring LDAP提供了客户端的补偿事务
    2. 配置
    3. JDBC事务集成
    4. LDAP补偿事务解析
        1. 重命名策略
12. 用spring ldap 实现用户认证
    1. 基本认证
    2. 在基本认证上做一些操作
    3. 过时的认证方法
    4. 使用 spring security
13. LDIF解析
    1. 介绍
LDAP Directory Interchange Format (LDIF)
IdifParser
    2. 对象表现形式:LdapAttribute and LdapAttributes
    3. 解析器 Parser
SeparatorPolicy:建立哪些行需要组装成属性的机制
AttributeValidationPolicy:确保在解析之前属性能够正确的构造
Specification:提供一个机制:组装后,哪些对象构造能被校验
    4. Schema校验
    5. 集成 spring batch
org.springframework.ldap.ldif.batch
14. 工具
    1. 多值属性的增量检索
如果一个属性有超过1500个值,Active Directory一般会拒绝一次返回
15. 测试
    1. 使用内嵌服务
spring-ldap-test 提供基于 ApacheDS 或 UnboundID 的内嵌服务器
[ApacheDS](https://directory.apache.org/apacheds/)
[UnboundID](https://www.ldap.com/unboundid-ldap-sdk-for-java)
LdapTestUtils
    2. ApacheDS(directory server)
    3. UnboundID

Version 2.3.1.RELEASE
Last updated 2017-01-19 15:35:09 +00:00

















  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    942 引用 • 1458 回帖 • 118 关注
  • LDAP
    5 引用 • 2 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 437 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 147 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 383 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 25 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 16 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    379 引用 • 1221 回帖 • 589 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6897 引用 • 31121 回帖 • 227 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 531 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • 工具

    子曰:“工欲善其事,必先利其器。”

    280 引用 • 715 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 608 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 195 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 431 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 444 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 442 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖 • 1 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖 • 2 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 699 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 6 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 59 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 142 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 355 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    25 引用 • 83 回帖 • 2 关注