2010-11-24 3 views
0

ログインしているユーザーがADグループまたは配布リストに存在するかどうかを確認しようとしています。 WindowsIdentityを使用しようとしましたが、適切な結果が得られません。 DLにユーザーを追加して、ユーザーがDLにいるかどうかを確認すると、誤った結果が表示されます。CのExchange配布リストまたはADグループに対してログインしているユーザーを確認してください。

私のIISを再起動し、ブラウザのCookieとキャッシュをクリアしましたが、運はありません。 IsInRole()関数は、ユーザーロールを確認します。 ADまたはローカルマシンで....?私はローカルマシングループから自分自身を削除しようとしましたが、それでもそのグループのために私を許可します。どんな助けもありがとう。

答えて

1

.NET 3.5を使用している場合は、System.DirectoryServices.AccountManagementでPrincipal.IsMemberOf()を使用することを検討できます。私はそれを試して、それはADセキュリティグループだけでなく、DLで動作します。グループでプログラミングする方法の詳細については、here

+0

となりました。あなたにとても感謝します。ただし、グループBがグループAのメンバーで、グループBのメンバーであり、グループAの自分自身を検証しようとすると、それは偽を返します。再帰的メンバーシップを検証することは可能ですか? – Ashish

+1

グループがセキュリティグループで、DLではなく、UserPrincipal.GetAuthorizationGroups http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.userprincipal.getauthorizationgroups.aspxを使用できます。あなたのグループがDLでなければならない場合、私はこれを行う効率的な方法がないのではないかと心配しています。 GroupPrincipal.GetMembers(true)を使用してDLを再帰的に展開し、ユーザーがグループ内にいるかどうかを確認する必要があります。あなたはStackOverflowに別の質問を掲示して、誰かがDLのためのより良い方法を知っているかどうかを見ることができます。 –

+0

これはまだ動作しません。ここで私のIISのWebアプリケーション構成は次のとおりです。 認証モード:基本+ Windows アプリケーションプールID:NetworkService 私のグループはADのセキュリティグループです。どんな助けも高く評価されます。 – Ashish

関連する問題