我一直在努力奋斗几天没有进步,首先我对LDAP和Active Directory知之甚少。我需要使用php通过企业连接ldap服务器,然后只需运行绑定。
我在网上浏览了很多相关材料,但似乎没有人以明确的方式回答我的问题。此外,我收到的错误消息据说有很多原因,因此使目标更难。
这是我当前的代码
putenv('LDAPTLS_REQCERT=allow');
$ldaprdn = 'user'; // ldap rdn or dn
$ldappass = 'password';
$ldapconn = ldap_connect("ldaps:\\localhost")
or die("failed");
if (ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Using LDAPv3\n";
} else {
echo "Failed to set protocol version to 3"; }
if ($ldapconn) {
//ldap_bind() will fail without ldap_start_tls()
if (ldap_start_tls($ldapconn)) {
echo "LDAP TLS Started";
}
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
if ($ldapbind) {
echo "LDAP bind OK";
} else {
echo "LDAP bind FAIL";
}
}
这输出"失败",
但如果我改变
$ldapconn = ldap_connect("ldaps:\\localhost")
//to
$ldapconn = ldap_connect("localhost")
这是输出
Using LDAPv3
Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server
in C:\xampp\htdocs\OOP_curater\index.php on line 18
Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP
server in C:\xampp\htdocs\OOP_curater\index.php on line 22
LDAP bind FAIL
有关项目的一些信息
以下是我试图弄清楚的一些事情
请告诉我是否还有您需要的信息。感谢
答案 0 :(得分:0)
我已经解决了这个问题,因为这里没有回复我是怎么回事。
首先,最重要的是,如果您是Active Directory的新用户,请先阅读任何材料下载Active Directory Explorer。在研究解决方案时,您将获得有关Active Directory各个方面的更多上下文。
如何确定Active Directory是否需要连接到" ldap"或" ldaps"
我真的不知道,只是尝试了ldaps和ldap似乎都工作
"用户名"必须是"用户名"?或"域/用户名"
必须是"域/用户名"
我读了很多关于必须使用open ldaps和ssl重新编译php for ldaps,因为这是一个xxamp堆栈,它是否可能,如果是的话,如果没有,有什么替代方案
我再也不必这样做,所以真的还不知道
在此上下文中如何使用ldap_connect()
在我的情况下,它必须是ldap:// DOMAIN
所以再一次,我真正需要的唯一东西是Active Directory Explorer,其余的都是小菜一碟。有点想知道为什么在我遇到的所有内容中都没有提到这个