Group1 と Group2 として 2 つの AD グループがあります。Windows アプリケーションを使用して、同じユーザーをこれらのグループに追加します。AD Group1をアタッチするabcというフォルダーがあります。abc で、子フォルダー abcd を作成し、継承プロパティを無効にして AD Group2 をアタッチします。ユーザー資格情報を使用してフォルダーにアクセスしようとすると、abc にアクセスできますが、abcd フォルダーにアクセスしようとすると、アクセスが拒否されたため例外が発生しました。この例外の原因と解決策は何ですか?
1 に答える
0
ユーザーがグループ 1 と 2 のメンバーであるかどうかをいつでもテストできます。
このようなもの:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");
if(user != null)
{
GroupPrincipal group1 = GroupPrincipal.FindByIdentity(ctx, "group1");
if(group1 != null)
{
bool userIsMemberOfGroup1 = user.IsMemberOf(group1);
}
GroupPrincipal group2 = GroupPrincipal.FindByIdentity(ctx, "group2");
if(group2 != null)
{
bool userIsMemberOfGroup2 = user.IsMemberOf(group2);
}
}
そうすれば、ユーザーがメンバーであるすべてのグループを列挙する必要はありません。関心のあるグループのみを確認してください。
System.DirectoryServices.AccountManagement
(S.DS.AM) 名前空間をチェックアウトする必要があります。ここでそれについてすべて読んでください:
- .NET Framework 3.5 でのディレクトリ セキュリティ プリンシパルの管理
- System.DirectoryServices.AccountManagement に関する MSDN ドキュメント
新しい S.DS.AM を使用すると、AD でユーザーやグループを簡単に操作できます。
于 2012-10-24T15:35:19.070 に答える