Roles.GetRolesForUser( "username")を実行すると、ロールが正しく返されますが、ADのロールにユーザーを追加すると、結果がログに記録されるまで表示されませんユーザーがシステムから抜け出し、再度ログインするようにしてください。Roles.GetRolesForUser()の結果がキャッシュされます
毎回システムを再確認する方法はありますか?
Roles.GetRolesForUser( "username")を実行すると、ロールが正しく返されますが、ADのロールにユーザーを追加すると、結果がログに記録されるまで表示されませんユーザーがシステムから抜け出し、再度ログインするようにしてください。Roles.GetRolesForUser()の結果がキャッシュされます
毎回システムを再確認する方法はありますか?
組み込みロールプロバイダを使用している場合は、web.configにcacheRolesInCookieを変更する設定があります。私はそれがデフォルトで本当だと信じています。
これはもちろん、(もちろんdbを使用している場合は)ロールルックアップが発生するたびにデータベースのルックアップが必要になるため、これはお勧めできません。 それ以外の場合は、あなた自身のプロバイダを書く必要があると思いますが、これは非常に簡単です。 RoleProviderから継承する新しいクラスを作成し、独自の実装を提供してください。あなたの実装ではキャッシュを扱うことができます。
組み込みロールプロバイダの内部動作を確認するには、Reflectorをダウンロードします。それは素晴らしいツールです。
EDIT
申し訳ありませんが、私再度読んで、あなたはADを使用していることに気づきました。ですから、web.configのプロバイダ設定に変更を加えても問題ありません。