我一直在寻找一些指南(以及PHP手册),试图在我即将制作的内部网站点上验证AD用户。这是我第一次使用ldap_connect,而且运气不好。
任何人都可以查看我的代码,看看我错过了什么吗?
感谢。
<?php
$user = "08jf1";
$password = "pass";
// Active Directory server
$ldap_host = "10.43.48.5";
// Active Directory DN
$ldap_dn = "OU=CSE-W7,OU=Students-W7,DC=server,DC=local";
// Domain, for purposes of constructing $user
$ldap_usr_domain = "@server.local";
// Connect to AD host
$ldapconn = ldap_connect("10.43.48.5");
if ($ldapconn) {
$bind = ldap_bind($ldap_host, $ldap_dn, $user . $ldap_usr_domain, $password);
if ($bind) {
echo "Verified user";
//$_SESSION['username'] = $session_username;
//$_SESSION['password'] = $session_password;
} else {
echo "User does not exist";
}
}
?>
编辑:我可以通过phpinfo确认ldap已启用!
答案 0 :(得分:2)
ldap_bind
的语法是否正确?不是ldap_bind($ldapconn,$rdn,$password)
吗?
答案 1 :(得分:0)
绑定可能需要提升权限或authbind包装器。有关ldap的信息,请参阅authbind。 LDAP AuthBind
答案 2 :(得分:0)