我不知道如何獲取AD中的用戶唯一標識符(SID)。代碼片段:PHP LDAP獲取用戶SID
...
$filter="(&(samaccountname=".$this->username.")(memberOf:1.2.840.113556.1.4.1941:=CN=GROUP_NAME,OU=Security,DC=something,DC=something))";
$attribute = array("cn","objectsid","description", "group", "member", "samaccountname");
$sr=ldap_search($this->conn_ldap, $this->ldap_dn, $filter, $attribute);
if ($sr)
{
$this->info = ldap_get_entries($this->conn_ldap, $sr);
if ($this->info["count"] == 1){
ldap_close($this->conn_ldap);
return true;
}
...
我可以拉的信息:
echo $this->info[0]["cn"][0];
或
echo $this->info[0]["objectsid"][0];
在第一輸出,我可以在謝勝利,像0�@�d^�WL7�U
看到用戶的名字,我相信SID應像S-......
?
從谷歌搜索的第2個鏈接 'PHP LDAP獲得SID' 扔了一些代碼值得嘗試:http://php.net/manual/en/function.ldap-get-values-len。 php(請參閱derek dot ethier的評論)&http://l3rady.com/index.html%3Fp=435.html –
向「''$ attributes'''數組添加一個」+「,看看結果然後。這可能會揭示一些額外的信息。 – heiglandreas