通过IP协议提供访问控制和维护分布式信息的目录信息
是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。
1、LDAP的结构用树来表示,而不是用表格。可以使用JDBC方式或者JNDI方式操作。 2、LDAP可以很快地得到查询结果,不过在写方面,就慢得多。 3、LDAP提供了静态数据的快速查询方式。 4、Client/server模型,Server 用于存储数据,Client提供操作目录信息树的工具。 5、LDAP是一种开放Internet标准,LDAP协议是跨平台的Interent协议。
目录树
在一个目录系统服务中,整个目录信息集表示为目录树
项
- 目录树中的每个节点是一个目录项,分为上层项、下层项、叶项、根项
对象类
- 每个项对应一个对象,对象是现实世界物体的一个方面,有相同特征的对象有对象类标识
属性
- 描述项的某个方面的一条信息称为属性。一个属性由一个属性类型或多个属性值组成。类型是助记符号。
甄别名称
- RDN和DN,用来区别项。
- RDN:相对标识,在同类中唯一标识本类
- DN:完整标识,在目录树中唯一标识本类
模式
- 控制数据库输入的各个方面的规则集
目录服务中的9种操作
- 添加
- 删除
- 修改
- 绑定
- 解绑定
- 查找
- 比较
- 修改甄别名称
- 放弃操作
LDAP标准
一、LDAP的体系结构
LDAP目录服务基于客户/服务器模型,一个或火哥目录服务器包含的数据组成了LDAP目录树 一个客户端访问服务器可以从中得到更多信息的指针。无论LDAP客户端连接到哪一个LDAP服务器,他看到的目录树都是相同的。 这是想LDAP这样的全球目录服务的一个重要的特性
二、LDAP的会话机制
一次LADP会话过程包含以下4个步骤:
- 对本次LDAP会话初始化
- 客户身份验证
- 目录操作
- 结束会话
服务器对客户机的每个请求都有相应的应答信息
三、LDAP的安全机制
LDAP服务器的认证机制分为三种:无认证、基本认证和SASL认证
无认证
客户端连接服务器不需要进行认证
基本认证
客户端连接服务器提供连接的甄别名称和不加密的口令
SASL认证
sasl验证架构决定服务器本身如何存储客户端的身份证书以及如何核验客户端提供的密码。
三、LDAP的复制功能
LDAP用的是单一主服务器复制技术。一个服务器是数据库的主服务器,只有它才能在目录中进行修改,多个从属服务器提供整个目录数据库的完整信息。
四、LDAP的分布式和提名功能
- 分布式
LDAP支持分布式的目录服务,多个服务器存放目录的不太部分,目录服务器通过指针相连,指针称为LDAP URL,客户端查询的内容不再当前服务器,服务器返回LDAP URL,客户机按照URL去查询。
- 提名功能
(支持分布式)
LDAP使用场景
认证功能
- LDAP可以快速告诉服务器用户信息
- LDAP是国际标准的通信协议。结合LDAP与电子证书认证,可以是网上交易的资料得意确认,信息传递更有效率,失误率更低
web资源提名
LDAP为Web管理员提供提名机制,客户端访问Web资源,当资源不再当前目录中,则他将另一个目录的位置返回给客户端
内联网的Email管理
Email管理人员可以使用目录服务寻找用户邮件信箱所处的位置,不必保存个人的地址簿
LDAP安装配置
单机版
分布式
AD域安装配置
AD域搭建创建AD域账户并登录Windows对LDAP实现增删改查 1Windows对LDAP实现增删改查 2
SID相同解决办法更改密码复杂性要求
Java控制AD域
- 原生注解版
- spring ldap版
- spring boot版
https://www.jianshu.com/p/3e14313aa3f5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
4、解决spring版不能使用
问题描述
使用原生api可以查询到AD服务器上的信息,但是使用spring LDAP报错
javax.naming.PartialResultException: Unprocessed Continuation Reference(s)
解决方案:将389端口号更改为3268
如果你使用的是636,就改成3269
相关资料
增删改查方法
https://gitee.com/google1/spring-boot-ldap/blob/master/src/main/java/com/example/demo/repo/LdapService.java
AD域证书
导出证书,连接SSL(重要)
获取秘钥
https://lework.github.io/2019/07/24/ad-install/#%E9%85%8D%E7%BD%AE%E5%9F%9F%E8%AF%81%E4%B9%A6
漫游配置
https://blog.51cto.com/122932692/1935167
SMB
https://wenku.baidu.com/view/f935e50c824d2b160b4e767f5acfa1c7aa008220.html
磁盘映射
https://jingyan.baidu.com/article/ab0b5630720f97c15afa7dff.html
linux加入AD域
AD域属性
Samba
解决samba只能看见文件夹
主副域(副域需要把DNS改为主域IP)