[英]php ldap get all(recursive) activedirectory users in a node
[英]PHP ActiveDirectory through LDAP - How to find the name of a users primary group?
所以我想检索用户主要组的组名。
我已经知道如何检索primaryGroupID但是我没有在组类中找到一个包含这样一个id的字段。
多数民众赞成我如何检索primaryGroupID:
$filter = "(sAMAccountName=" . $username . ")";
$attr = array ( "primaryGroupID", "sAMAccountName" );
$result = ldap_search( $ldap, "DC=ad,DC=test,DC=local", $filter, $attr ) or exit( "Unable to search LDAP server" . ldap_error( $ldap ) );
$entries = ldap_get_entries( $ldap, $result );
提前致谢!
primaryGroupID实际上是您需要获取的组的RID 。 基本上,您需要做的是确定实际组,如下所示:
objectSid
和primaryGroupID
属性。 objectSid
转换为其字符串形式。 primaryGroupID
objectSid
等于上一步的SID的组。 对于几乎从不改变的事情来说,这是一项相当繁琐的任务。 但这是我目前如何从LDAP解码objectSid
:
只需将值传递给fromLdap($value)
函数即可。 然后使用SID的字符串版本获取组的SID,如下所示:
$groupSid = preg_replace('/\d+$/', $primaryGroupId, $userSid);
现在使用上面的$groupSid
您可以搜索objectSid
等于的组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.