2012-02-08 14 views
1

WindowsAuthentication_OnAuthenticateイベントを使用してユーザーロールを格納するためのFormsAuthenticationチケットを作成する際に、リスクや落とし穴が発生するのではないかと思います。私はいくつかの異なるクエリからこれらのロールを取得します(私はdbスキーマを変更する権限を持っていないので...)。私はASP.NETの役割マネージャを使用したくないです。私が(少なくとも30分ごとに有効期限が切れる)Cookieを使用しないと、WindowsAuthentication_OnAuthenticateisがすべての要求に対して呼び出されるため、パフォーマンスが問題になる可能性があります私はこれらのdbコールを常に作成するようにしています(Cookeを解読し、Application_AuthenticateRequestイベントで自分のコンテキストのカスタムプリンシパルを構築する必要はありません)。フォーム認証Cookieを使用してロールをキャッシュする - Windows認証

答えて

3

はい、いいえ。セキュリティの観点からは、良いアイデアではなく、迅速に修正されていますが(POETの脆弱性を参照) リスクが価値があるかどうかは、 t。

代わりにこのデータを格納するサーバーサイドキャッシュを考慮し、キャッシュの空きが空であることを確認したら、役割を確認してください。

+0

優れたサーバーサイドキャッシュです。ありがとうございます! – enamrik

+0

このタスクのためにサーバー側のキャッシュ方法を教えてください。セッションは利用できませんし、HttpContext.Current.CacheまたはHttpRuntime.CacheはIIS7で問題が発生するようです(IIS 6ではうまく動作しますが)。 – dougajmcdonald

+0

特にHttpRuntime.Cacheの問題は何ですか? –

関連する問題