2

ASP.Net MVC3 アプリがあります。LogIn アクションが呼び出されると、MembershipProvider を使用してユーザーを検証し、FormsAuthentication を使用して Cookie を設定します。

さらに、データベースからユーザーに関する情報を取得し、それをセッションに保存します。

ユーザーがその後サイトにアクセスすると、Cookie を介して既に認証されているため、データベースからユーザーに関する情報を再度取得できるようにフックする場所を探しています。

HttpApplication.AuthorizeRequest() はこれを行うのに最適な場所ですか? 明らかに、これはすべてのリクエストに対して呼び出されるため、ログイン後または自動的に認証されたときに、ユーザーが認証されたことを示すものを使用できることを望んでいました。

4

1 に答える 1

1

すべてのリクエストでトリガーされるイベントがいくつかあり、HttpApplication.AuthorizeRequest()動作するはずです。

ログインしているユーザーのデータベースからのみフェッチするには、ユーザーが認証されたときにのみ設定されるNameプロパティを確認できます。User.Identity

if(!string.IsEmpty(User.Identity.Name))
{
 //make call to database
}
于 2013-08-16T01:13:57.747 に答える