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
近期热议
推荐标签 标签
-
C++
107 引用 • 153 回帖
C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。
-
OnlyOffice
4 引用 • 20 关注
-
SQLite
5 引用 • 7 回帖
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。
-
Follow
4 引用 • 12 回帖 • 13 关注
-
SEO
35 引用 • 200 回帖 • 32 关注
发布对别人有帮助的原创内容是最好的 SEO 方式。
-
Google
49 引用 • 192 回帖
Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。
-
App
91 引用 • 384 回帖
App(应用程序,Application 的缩写)一般指手机软件。
-
VirtualBox
10 引用 • 2 回帖 • 17 关注
VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。
-
ReactiveX
1 引用 • 2 回帖 • 183 关注
ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。
-
招聘
189 引用 • 1057 回帖 • 4 关注
哪里都缺人,哪里都不缺人。
-
WebClipper
3 引用 • 9 回帖 • 3 关注
Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。
- B3log
-
链滴
173 引用 • 3849 回帖 • 1 关注
链滴是一个记录生活的地方。
记录生活,连接点滴
-
面试
325 引用 • 1395 回帖 • 1 关注
面试造航母,上班拧螺丝。多面试,少加班。
-
ZooKeeper
59 引用 • 29 回帖
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
-
Wide
30 引用 • 218 回帖 • 643 关注
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
-
阿里云
84 引用 • 324 回帖 • 1 关注
阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。
-
jsoup
6 引用 • 1 回帖 • 486 关注
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
-
WebComponents
1 引用 • 9 关注
Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。
-
服务
41 引用 • 24 回帖 • 2 关注
提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。
-
资讯
56 引用 • 85 回帖 • 1 关注
资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。
-
Telegram
5 引用 • 35 回帖 • 1 关注
Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。
-
ActiveMQ
19 引用 • 13 回帖 • 677 关注
ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。
-
etcd
6 引用 • 26 回帖 • 547 关注
etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。
-
Eclipse
76 引用 • 258 回帖 • 627 关注
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
-
OneDrive
2 引用 • 3 关注
-
Vue.js
267 引用 • 666 回帖 • 1 关注
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于