活动目录检查用户是否属于某个组

时间:2017-03-03 20:58:12

标签: azure active-directory azure-active-directory

我使用以下代码来提取活动目录组。如何判断用户是否属于xyz组?

// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// define a "query-by-example" principal - here, we search for a GroupPrincipal 
GroupPrincipal qbeGroup = new GroupPrincipal(ctx);

// create your principal searcher passing in the QBE principal    
PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);

// find all matches
foreach(var found in srch.FindAll())
{
    // do whatever here - "found" is of type "Principal" - it could be user, group, computer.....          
}

1 个答案:

答案 0 :(得分:2)

您可以通过查询用户对象上的memberOf导航属性来获取用户所属的组列表。

了解它here

https://graph.windows.net/myorganization/users/{user_id}/$links/memberOf?api-version

请注意,您可以删除查询的$links部分以返回整个组对象,而不是指向该对象的链接。但是,为了简单地验证用户是某个组的成员,您可以使用这些链接,并将返回的组的对象ID与您要查找的组进行比较。