我一直在努力奮鬥幾天而沒有進步,首先我對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團隊中獲取,如果是,那會是什麼。
請讓我知道是否有任何更多的信息,你需要。謝謝