저는 Active Directory와 PHP의 통합에 어려움을 겪고 있습니다. 업데이트하려고하는 필드는 givenname, sn, mail, telephonenumber, company, department 및 title입니다. 내가 대신 LDAP의 LDAPS를 사용한다는 것을 발견 인터넷 검색에서경고 : ldap_modify() : 수정 : 서버가 수행하기가 꺼림
Warning: ldap_modify(): Modify: Server is unwilling to perform in E:\IIS^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
하지만 내가 잘못 여기에 무엇을 알고하지 않습니다 : 그것은 나에게 다음과 같은 오류를주고있다
function get_active_directory_info($username, $password)
{
$conn = ldap_connect("DC-1");
if($conn==FALSE)
{
return array(FALSE, FALSE);
}
else
{
$bind = ldap_bind($conn, $username, $password);
ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($conn, LDAP_OPT_REFERRALS,0);
$unit = "OU=Staff,OU=Users,DC=example,DC=internal";
$filter = "(&(objectCategory=person)(sAMAccountName=*)(!(UserAccountControl=514)))";
$results = array();
$justthese = array("sn", "givenname", "mail", "company","department","title","telephonenumber","samaccountname", "cn");
$sr=ldap_search($conn, $unit, $filter, $justthese);
$info = ldap_get_entries($conn, $sr);
for($i = 0; $i < $info["count"]; $i++)
{
$cn = $info[$i]["cn"][0];
if(substr($cn, -3) != "ADM")
{
$results[$i]["id"] = $i + 1;
if(empty($info[$i]["givenname"][0])==FALSE)
{
$results[$i]["first"] = $info[$i]["givenname"][0];
}
if(empty($info[$i]["sn"][0])==FALSE)
{
$results[$i]["last"] = $info[$i]["sn"][0];
}
if(empty($info[$i]["mail"][0])==FALSE)
{
$results[$i]["email"] = $info[$i]["mail"][0];
}
if(empty($info[$i]["company"][0])==FALSE)
{
$results[$i]["company"] = $info[$i]["company"][0];
}
if(empty($info[$i]["title"][0])==FALSE)
{
$results[$i]["title"] = $info[$i]["title"][0];
}
if(empty($info[$i]["department"][0])==FALSE)
{
$results[$i]["department"] = $info[$i]["department"][0];
}
if(empty($info[$i]["telephonenumber"][0])==FALSE)
{
$results[$i]["number"] = $info[$i]["telephonenumber"][0];
}
if(empty($info[$i]["samaccountname"][0])==FALSE)
{
$results[$i]["username"] = $info[$i]["samaccountname"][0];
}
}
}
}
return $results;
}