LDAP-开发Miscrosoft LDAP遇到的些注意点

1.user status 这个值是位与运算的!!!!人为可修改的值少,直接在AD页面上修改就知道能否人为修改了

account lockout是系统自身检测控制的,相关的参数不能人为修改。于是,我们自己在attribute里添加了一个extension字段,装入locked=false/true来自定义处理是否被锁,因为AD没有这个人为Lock的功能,只能符合自定义的规则才会lock!

2.AD系统维护的参数,如:parentDistributeName, DistinguishName不支持LDAP的模糊查询。但Embeded的LADP,就支持。

3. Unboudid LDAP InMemoryDirectoryServer不支持userAccountStatus的位运算查询,暂时知道Microsoft AD支持

加入下面这个搜索条件,会过滤掉disable的用户,只会查询active的用户

public static final String USER_ACCOUNT_CONTROL_FILTER_INACTIVE = "userAccountControl:1.2.840.113556.1.4.803:";

4. AD是通过User SamAccountName来作为唯一性检查的!这个名字是全局唯一的!不区分大小写!而且,全局搜索的时候,也是可以不区分大小写输入来进行搜索!如:user名为Dog.那么搜索时,输入dog,Dog,DOG都可以搜索到

5. AD连接池连接后,很久才超时,导致线程假死状态。这个是因为使用了linux firework drop的命令,这个命令丢弃所有数据包,只能超时才有返回。

   AD ssl timeout问题:

配置了AD ssl,默认走下面的代码,而无法修改AD的链接超时时间,需要到操作系统设置socket。。。

相关的分析Socket笔记之深入分析java中的ConnectionTimedOut

                  No connection timeout for sun SSLSocketImpl, potential bug?

 

6. java不能直接update相应的column为空字符串,可以update为空格,但是可以直接在AD server的图形界面上删除column的值,Update为相应的空值。

7. 使用java unboundid sdk作为AD链接, AD有些字段支持search结果排序,如displayname,sn,而modifyTimeStamp不支持。查看

ldap协议些说明,不支持ordering!!

 

一些相关链接:

LDAP服务器的概念和原理简单介绍

Spring Boot中使用LDAP来统一管理用户信息

ldapsearch 的用法https://blog.51cto.com/koala003/1663662

2017.4.10 spring-ldap官方文档学习

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值