Windows認証(Active Directory)セキュリティを使用する.Net 4.0アプリケーションがあります。私は自分のハンドラを書いて、ページ名を見てユーザが現在のページにアクセスできるかどうかを調べ、その特定のページにアクセスできると定義されている適切なADグループにいるかどうかを調べることにしました。簡易ADアプリケーションセキュリティ
このアプリケーションは、企業ドメインでのみ実行されるイントラネットアプリケーションです。
私は単純に "System.Web.HttpContext.Current.User.IsInRole"を使用します。
ユーザーがグループに所属している場合、私は通常どおりにプロービングします。ユーザーがグループに所属していない場合は、ユーザーを「アクセス不可」ページにリダイレクトします。
私の質問は...(IsInRole)は、ページがロードされるたびに(PageLoad()で)、すべてのページがページをロードするたびにユーザーをページに対して検証するメソッドを呼び出します。 )
私はこれについてより効率的であるとお考えですか? (少なくとも、検証コードを呼び出す前に "!PostBack"テストを行うことはできますか?)セッション変数やCookieを使用するのはどうですか?
アドバイスはありがとうございます!
P.S. - 過去にメンバーシップ・プロバイダーを使用し、このアプリケーションで使用していると考えましたが、私はそれに反対しました。私がやろうとしていることはとてもシンプルで、メンバーシップ提供のすべてのものでデータベースやコードを駄目にしたくないのです。
これは私がやっていることです、すでに。私はタイプページの基本クラスからすべての私のページを派生しています。それは私が "IsInRole"を行う基本ページです...私のポストは、これが良い解決策であるかどうか基本的に尋ねていました。私がここで、そしてASP.NETで読んだことに基づいて、それはそうであるようです。だから、私はそれに行くつもりです! – Shayne