LDAP 初探

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。


本文的LDAP基于微软的活动目录(Active Directory)

LDAP可以用来作为一个用户管理工具。由于是第三方用户管理工具,因此可以跨应用管理同一个用户组。通过Group和Organizational Unit管理用户的权限和分组。

不同于一般的用户管理系统,采用用户名/密码的认证方式。LDAP采用的是Object/密码的方式。用户的所有属性构成了Object。那么在采用LDAP作为认证方式时,应用程序该如何完成认证呢?

答案是采用Filter,例如指定(|(name={FILTER}))作为search filter。这样可以使用用户的name属性作为登录名。其实采用name作为Object的识别名不是很合理,虽然在一个OU(Organizational Unit)中,Object的name是不能相同的,但是在一个AD server里,可能存在多个OU,不同的OU中是允许使用相同的name。因此,为了避免混淆,应该使用sAMAccountName或者userPrincipalName作为LDAP中User的唯一标识。至于采用哪个,个人觉得sAMAccountName更为精简一些,且是创建AD server中User的必填项。

再来说一说User中的属性,distinguishedName。这是一个由多个关键字组成的,由逗号分隔的属性。这个属性对于每个User来说也是唯一的,通过其中的关键字,可以定位到User。在某些场合,其可以用作User的唯一标识,用来登录。例如在用LDAP Browser来连接LDAP server时,如果要输入Admin的用户名密码作为连接用户,可以输入Admin用户的distinguishedName

最后说一说searchContext吧,前面说了searchFilter。其实这两个概念是一起使用的。LDAP采用目录结构管理Object,指定searchContext可以指定某一个特定分支的目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值