1

私が作っているコンソールアプリケーションにログインしているユーザーがDLの一部であるかどうかを確認する必要があります(DL-Aと呼ぶ)。ユーザーがADグループに含まれているかどうかを確認する方法は? (グループ内の偶数グループ)

一部のユーザーはDL-Aの一部ではなく、DL-Aのメンバーである他のDLのユーザーです。私が働いているコードは、ユーザーが直接メンバーになっているグループだけをチェックします。これをどうやってチェックするのですか?ユーザーは、ネストされたグループのメンバーであるかどうかを確認することができます

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domain); 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username); 
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "DL-A"); 

if (user != null) 
{ 
    if (user.IsMemberOf(group)) 
    { 
     ... 
    } 
} 

答えて

0

一つの方法は、グループrecursivelyからすべてのユーザーを取得することです。あなたのコードからusergroupを使用しています:

.... 

if (group != null) 
{ 
    var users = group.GetMembers(true); //this will get nested users 
    var contains = users.Contains(user); 
    if (contains) 
    { 
     //user found 
    } 
} 

... 
関連する問題