LDAP(Lightweight Directory Access Protocol)即轻量目录访问协议,是一个开放、广泛被使用的工业标准(IEFT、RFC),在1993年就被提出。
企业级软件也通常具备"支持LDAP"的功能,比如Jira, Confluence, openVPN等,企业也经常采用LDAP服务器来作为企业的认证源和数据源。但是大家比较常见的认识误区是,可以使用LDAP来实现SSO。我们可以先分析一下它的主要功能点或场景:
当LDAP作为数据源时,对外通过LDAP Search以及LDAP Modify协议来进行数据同步;当作为认证源时,通过LDAP Bind协议来进行身份认证。
但是SSO的定义是单次登录(或者只输入一次账号密码)就可以访问多个应用,本质上是B/S架构的,也就是说需要借助浏览器才能实现SSO功能,而LDAP更适合于C/S架构的登陆,通过LDAP其实并不能做到SSO,用户必须还得再次输入密码。LDAP只是提供了统一管理用户/密码的功能(即认证源)。
所以,LDAP看似适用性比较广,但它真的适合每个企业吗?企业需要先思考几个问题:
1、使用的应用或系统是否以C/S架构为主?
用LDAP还是其他SSO系统,得取决于对接的应用是B/S架构的还是C/S架构的。比如像OpenVPN这种C/S架构,它本身的登陆是没有浏览器的,所以无法通过SSO协议对接(玉符自己用的VPN、SSH、Wifi等对接的就是LDAP扩展