現在のユーザーが AD グループのメンバーであるかどうかを判断する必要がある WPF アプリがあります。
AD「ツリー」の次の場所にADグループ「TestGroup」を作成しました。
アプリ/共有/グループ/TestGroup
TestGroup のメンバーであるドメイン ログインとして実行されている VS 2010 でアプリをテストしています (そして、そのグループに自分自身を追加してから、ログオフ/ログオンしました)。
私のドメイン名は ABC です。
まず、次のようにして WindowsPrincipal を取得します。
if (!Thread.CurrentPrincipal.Identity.IsAuthenticated) Thread.CurrentPrincipal = new WindowsPrincipal(GetWindowsIdentity());
(ところで、これは常に GetWindowsIdentity() を呼び出します...それが問題になる可能性がありますか?)
それから私は:
_windowsPrincipal.IsInRole(@"ABC\TestGroup")
...常にfalseを返します。
IsInRole に正しい文字列を渡していますか? または、@"ABC\Apps\Shared\Groups\TestGroup" のように AD "ツリー" のフル パスを指定する必要がありますか (ほぼすべての順列を試しました)。または、この問題は VS でデバッグを実行することによって引き起こされる可能性がありますか?
または ????
ありがとう!
お父さん猫