2013-01-03 1 views
1

우분투에서 OpenLDAP를 사용하는 Microsoft AD 환경을 복제하려고하므로 웹 응용 프로그램의 테스트 환경을 가질 수 있습니다. 내가 겪고있는 문제는 ldap_bind 명령이 완전히 다른 사용자 이름을 사용하여 OpenLDAP에 연결하지 않으면 "잘못된 DN 구문"오류를 반환한다는 것입니다. 그러나 이것은 Microsoft 측의 문제는 아닙니다. OpenLDAP가 디렉토리를 검색하여 해당 사용자가 완전히 인증 된 이름을 사용하는 대신에 인증을하도록 강요 할 수 있습니까? 도와 주셔서 감사합니다.PHP가 OpenLDAP에 완전히 구별되지 않는 이름으로 연결

편집 여기 작동하지 않고 목표 일 것입니다 무슨이다 :

$ad = ldap_connect('ldap://localhost') or die("Could not connect!"); 
// Set version number 
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3) or die("Could not set ldap protocol"); 
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0) or die("Could not set ldap protocol"); 
// Binding to ldap server 
$bd = ldap_bind($ad, 'cn=admin,dc=example,dc=com', 'Password1') or die("Couldn't Connect"); 
+0

질문에 몇 가지 예를 편집 할 수 있습니까? 어때요 작동 연결 및 작동하지 않는 연결? – Charles

답변

1

예 AD는 찾기 위해 neat trick를 사용합니까 : 여기

$ad = ldap_connect('ldap://localhost') or die("Could not connect!"); 
// Set version number 
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3) or die("Could not set ldap protocol"); 
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0) or die("Could not set ldap protocol"); 
// Binding to ldap server 
$bd = ldap_bind($ad, 'admin', 'Password1') or die("Couldn't Connect"); 

그리고 어떤 작품입니다 일부 속성에서 FDN. 나는 다른 LDAP 서버 벤더 중 일부가 비슷한 것을 구현하기를 희망한다.

사용자의 특성을 찾아 읽고 사용자의 바인드에 FDN을 전달할 수있는 충분한 권한을 가진 사용자로 바인딩해야합니다.

관련 문제