LDAP,全称Lightweight Directory Access Protocol,译为轻量目录访问协议,是一个在互联网中广泛使用的协议,主要用于实现网络中的信息查找和检索。在身份认证方面,LDAP起着重要的作用。
LDAP的工作原理主要包括以下几个步骤:
连接建立:首先,LDAP客户端需要与LDAP服务器建立连接。这个连接可以是基于TCP/IP的,也可以是基于TLS/SSL的加密连接。
身份验证:连接建立后,LDAP客户端需要进行身份验证,以证明自己的身份。这一步通常使用用户名和密码进行。
请求和响应:LDAP客户端可以发送不同类型的请求给LDAP服务器,常见的请求包括搜索请求、添加请求、修改请求和删除请求等。每个请求都包含一个操作码,用于指示服务器应该执行的操作类型。
目录项的表示:LDAP使用一种称为LDAP数据交换格式(LDAP Data Interchange Format,LDIF)的文本格式来表示目录项。LDIF格式是一种类似于INI文件的格式,它使用一系列的属性和属性值来描述目录项。
以上是一个第三方系统使用LDAP认证的案例,在客户端登陆第三方系统认证时,工作流程如下:
第一步:TCP三次握手建立TCP连接,省略。
第二步:ldap连接服务器请求,发起bindRequest()的请求,请求中带入存在ldap中的账号,服务器验证该账号正确,返回bindResponse()成功。
第三步:在同一个TCP连接中,验证完LDAP的账号密码,则发起查询请求searchRequest(),在域上查找用户登陆的账号是否存在,域查询后返回账号存在的路径CN。
第四步:TCP三次握手,再次建立TCP连接。
第五步:LDAP将用户输入的密码通过bindRequest()请求发给域,域验证后返回bindResponse()成功。
自此,第三方系统LDAP用户账号验证完成。