PHP adLDAP version 4.04을 사용해 기업 네트워크에서 인증을 시도하고 있습니다. PHP adLDAP 오류 - 서버에 바인딩 할 수 없습니다. 강력한 인증이 필요합니다.
PHP Version 5.2.4
나는 이 아니요.이 도메인 컨트롤러의 관리자입니다. 나는 쿼리 할 수 있어야합니다.
나는 도메인 컨트롤러는 Windows Server 2012 R2 Standard
입니다
HOSTNAMEOFDC.domain.location.company.com
(내 도메인 컨트롤러의 FQDN)을 Ping 할 수 있어요.
DsQuery
및 PowerShell AD Module
을 사용하여이 도메인 컨트롤러에 아무런 문제없이 성공적으로 쿼리했으며 수동으로 입력해야하는 인증이 없습니다.
내 코드 : 나는 "use_ssl" => true"
의 주석 때이 오류 얻을 그리고
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Strong(er) authentication required in C:\xampp\htdocs\Workspace\Project\scripts\includes\php\adLDAP\src\adLDAP.php on line 712
Strong(er) authentication required
User authentication unsuccessful
:
참고로, ssl
내 php.ini
<?php
require_once("includes/php/adLDAP/src/adLDAP.php");
$username = "domain\\username"; // also tried just "username"
$password = "somepassword";
// All possible settings are listed in this array
$options = array(
"account_suffix" => "@domain.location.company.com",
// "admin_username" => $username,
// "admin_password" => $password,
// "ad_port" => "636",
// "base_dn" => "DC=domain,DC=location,DC=company,DC=com",
"domain_controllers" => array("HOSTNAMEOFDC.domain.location.company.com"),
// "real_primarygroup" => "",
// "recursive_groups" => "",
// "use_ssl" => true
// "use_tls" => true
);
$adldap = new adLDAP($options);
// $authUser = $adldap->user()->authenticate($username, $password);
$authUser = $adldap->user()->authenticate($username,$password);
if ($authUser) {
echo "User authenticated successfully";
} else {
// getLastError is not needed, but may be helpful for finding out why:
echo $adldap->getLastError() . "<br>";
echo "User authentication unsuccessful";
}
// Destroy
$adldap->close();
$adldap->__destruct();
?>
내가 오류
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in C:\xampp\htdocs\Workspace\Project\scripts\includes\php\adLDAP\src\adLDAP.php on line 712
Can't contact LDAP server
User authentication unsuccessful
는 또한 "use_tls" => true"
주석을 시도하고이 오류 얻을 :
Warning: ldap_start_tls() [function.ldap-start-tls]: Unable to start TLS: Connect error in C:\xampp\htdocs\Workspace\Project\scripts\includes\php\adLDAP\src\adLDAP.php on line 638
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in C:\xampp\htdocs\Workspace\Project\scripts\includes\php\adLDAP\src\adLDAP.php on line 712
Can't contact LDAP server
User authentication unsuccessful
사용자 이름을 수락하도록 서버를 구성 할 수 있지만 Ldap 바인드는 사용자 이름이 아닌 rdn으로 수행됩니다. 프로토콜 버전도 확인하십시오. 일부는 버전 3으로 설정해야합니다. – frz3993
@ frz3993 필자의 신입 회원을 용서할 수 없다. 예제 RDN은 무엇이겠습니까? 'Doman \ username'처럼? –
'uid = 12345, ou = people'와 같이 DN의 구성 요소와 더 비슷합니다. 일부 서버는 domain \ username을 허용합니다. 그러나 나는 이것이 문제라고 생각하지 않는다. – frz3993