1
我發現this用於獲取用戶的安全組。GetAuthorizationGroups返回的用戶數比我的用戶數多
我不得不改變它了一點,所以它看起來像這樣:
public List<GroupPrincipal> GetGroups(string userName, string userPassword, string userDomain)
{
List<GroupPrincipal> result = new List<GroupPrincipal>();
// establish domain context
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain, userDomain, userName, userPassword);
// find your user
UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, IdentityType.SamAccountName, userName);
// if found - grab its groups
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();
// iterate over all groups
foreach (Principal p in groups)
{
// make sure to add only group principals
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
return result;
}
不幸的是我現在在AD讓每一個安全組,而不是隻有那些用戶在 我的用戶是10但它返回71. 我必須提交用戶名和密碼,否則我將不被允許查找組。它是另一個域上的管理帳戶,因此我無法使用當前的憑據。
如果您需要更多信息,請讓我知道。
問候和感謝提前 IG