开源中文网

您的位置: 首页 > LDAP > 正文

小白科普:LDAP有什么用?

来源: Java编程公众号  作者: 刘欣

1
认证的烦恼

小明的公司有很多IT系统, 比如邮箱、SVN、Jenkins , JIRA,VPN, WIFI...... 等等 。 

 

新人入职时需要在每个系统中申请一遍账号,每个系统对用户名和密码的要求还不一样, 实在是烦人。 

 

这还不算, 按照公司的策略, 这些密码每隔三个月还得更改一次,每次都是一次大折腾。 

 

离职的时候, 各个账号又都得删除一遍,太折磨了。

 

能不能让这些系统用同一套用户名和密码呢?  申请一次,到处使用!

 

“嗯,这其实是一个用户统一认证的问题” 小明做了一个总结。

 

怎么去实现?   当然是开发一套系统了, 关键是要把账号统一起来用Mysql 数据库来保管, 然后用自己擅长的SpringMVC对外提供JSON接口, 别的系统比如SVN想做用户认证的时候,调用一下这个接口,把用户名和密码传过来,系统就会判断认证是否成功。

 

 

被这么一个美好的前景激励着,小明像打了鸡血,充满激情地、迅速地把这个系统开发出来了。

 

2
推广

 

他先找了SVN的管理员,结果栽了跟头,人家根本不买账,理由很简单: “你这个系统稳定性、性能怎么样?  还有,你这接口是自己定义的,也不是业界标准,我甚至得开发代码和你做集成, 太麻烦。  对了, 你怎么不用LDAP啊?”

 

LDAP ? 这是什么鬼?  小明没放在心上, 又去找邮箱和VPN的负责人, 都被残忍地拒绝了, 甚至连理由都一样。 

 

最后的希望集中在Jenkins身上, 管理Jenkins的是自己的哥们张大胖,  中午吃饭的时候小明向基友哭诉了自己的悲惨遭遇,希望能博得一点同情。 

 

“我觉得你的想法很好啊,我们就缺你这样的实干家, 你说说接口是什么样的?” 大胖路见不平,决定为好基友两肋插刀。

 

“其实我这里提供了一个HTTP+JSON的接口, 你的Jenkins调用一下就行了”  小明满怀期望。

 

“这个.... 虽然我没有仔细研究过, 但是Jenkins 好像只支持自定义的用户认证,还没有LDAP。”  大胖的刀还没拔出来就放回去了。

 

看来推广又要失败了。

 

 

3
LDAP

 

 

“这个LDAP是什么东西,你们的系统为什么都要支持它?” 小明愤愤不平地问道。

 

“LDAP是Lightweight Directory Access Protocol , 即轻量级目录访问协议, 用这个协议可以访问提供目录服务的产品,例如OpenLDAP。 ”

 

“目录服务?”

 

“对, 比如公司有个员工列表名单, 对于一个员工,你能查到他的电话,工位,部门等各种信息, 这就是一个目录啊。”

 

“听起来很适合保存一个公司员工的账号和密码啊” 小明说。

 

“是啊,这个目录服务啊,存储数据的方式有点特殊,完全不像我们熟知的关系数据库, 数据都在表中,一行一行的,一目了然,这个OpenLDAP是以树的方式存储的。 比如一个人的信息是这样的:

小明说:“ 有点古怪,不过这很像文件系统的目录树, 每个目录都有属性,可以存储信息,比如用户名和秘密,但是查询的时候还得一层一层的来,多麻烦, 为啥不用关系型数据库,直接一个select 不就出来了 ”

 

张大胖说: “我对LDAP研究不深, 但是我知道LDAP速度快, 非常快,比当今最快的数据库还要快。“

 

“怎么可能,现在的关系数据库多强悍啊。”

 

“其实LDAP主要的应用场景是查询多而修改极少,查询和修改的比率是10:1 甚至更高, 那就充分发挥LDAP的优势了,因为没有事务处理,那数据库的速度可是比不上。 还有LDAP能存储海量的数据,还可以轻松地在各个系统之间复制,可用性超高。 ”

 

小明想想确实是这样,公司员工信息变化本来就很少,我们把用户名密码存进去, 三个月才改一次, 查询的操作远远高于修改,如果LDAP专注于优化查询,又没有事务处理, 就像一个缓存一样, 肯定要更快了,  怪不得很多软件都支持LDAP做用户认证,这是个重要原因啊。

 

小明有点沮丧,觉得自己在没有充分调查研究的情况下,又造了一个轮子。

 

既然如此,那就搭建一个支持LDAP的目录服务器吧, 小明这一次吸取了教训,先说服了领导,在领导的支持下,进行了跨部门的沟通,经过艰苦的努力,各个系统终于搞成了统一认证, 现在的结构是这样的:

 

 

小明的努力没有白费, 除了学到技术外,还得到了公司的认可,年底的时候给他发了一个领导力的奖,奖励他勇于走出自己的工作岗位、跨部门的与同事沟通,用自己的专业能力带来大家完成了用户的统一认证,极大提高了工作的效率。 

 

Tags:小白 科普
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明