我一直在努力奋斗几天而没有进步,首先我对LDAP和Active Directory知之甚少。我需要使用php通过企业连接ldap服务器,然后只需运行绑定即可。安全地连接到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
关于该项目的一些信息
- 将内部网络在企业级
- 所有用户都应该只从这个内部网络
- 为了测试即时访问当前正在运行的托管PHP的XAMPP,
- 生产将使用Windows服务器IIS
关注ING是一些事情,我想弄清楚
- 如何确定如果Active Directory需要在“LDAP”或“LDAPS”连接
- 是否“用户名”必须只是“用户名”?或“域名/用户名”
- 我读了很多关于必须重新编译php与开放ldaps以及ssl ldaps,因为这是一个xxamp堆栈,甚至有可能,如果是的话,如果没有,如何,如何选择
- 在这种情况下究竟如何使用ldap_connect(),它是否需要:
- ldap_connect(“localhost”);
- ldap_connect(“ldap(s):// localhost”);
- ldap_connect(“ad.orgsitedomain.com”);
- 是否有任何信息需要从Active Directory团队中获取,如果是,那会是什么。
请让我知道是否有任何更多的信息,你需要。谢谢