php使用LDAP登录系统
LDAP介绍
LDAP(Lightweight Directory Access Protocol)的意思是”轻量级目录访问协议”,是一个用于访问”目录服务器”(Directory Servers)的协议。这里所谓的”目录”是指一种按照树状结构存储信息的数据库。这个概念和硬盘上的目录结构类似,不过LDAP的”根目录”必须是”The world”,并且其一级子目录必须是”countries”。二级目录通常包含有公司(companies)、组织(organisations)、地点(places)等等……相应的三级子目录通常会包含人员(people)、设备(equipment)、文档(documents)
php可以借助LDAP,可以和OA,git等其他系统公用用户
LDAP中则通过”distinguished name”(简称”dn”)来表示文件,通常像下面这样:
cn=John Smith,ou=Accounts,o=My Company,c=US
逗号(,)在这里表示级别分界线,并且从右向左阅读。上述dn可以理解为:
1 | country = US |
术语对比:
dn,entry 目录/文件
attribute 属性
value 值
PHP与LDAP
PHP默认并不启用LDAP支持,PHP的LDAP模块依赖于OpenLDAP或bind9.net提供的客户端LDAP库,你必须在编译的时候使用 –with-ldap[=DIR] 才行,如果你想要SASL支持,那还必须使用 –with-ldap-sasl[=DIR] 选项,而且你的系统中必须有 sasl.h 头文件才行。
demo
1 | $ldapConnect=ldap_connect(LDAP_SERVER_IP , LDAP_SERVER_PORT ); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 螃蟹壳!