PHP操作AD域
在设计公司内部的员工服务平台时,需要实现员工通过自己的域账号登录该平台的功能。这就需要改变原先的php+mysql的登录验证模式,需要思考以下几点:
- 如何进行账号密码验证?是跟原来的操作一样——从服务器上取出用户名密码与前端返回的值相比较?
- 如何实现我们需要的操作?
域服务器为了保证安全性是不会向我们提供用户的密码的,所以我们无法直接取到密码来用作比较。在这里,一个可行的方法是将账号密码验证的任务交由域服务器处理,我们只需要等待返回值的成功与否就可以。(这让我想到了某些平台的“使用第三方登录”的功能,最终的验证还是要交由“第三方”来实现)。
AD域是建立在ldap协议之上的。与操作mysql相似,PHP为我们提供了操作ldap的函数库。那么我们就可以据此来实现对AD的访问操作。
$host = "ldap://10.0.0.2";
$port = 389;
//连接到LDAP服务器
if(!@$connection = ldap_connect($host,