質問

ASP.NET MVC アプリケーションを開発していて、ユーザーのログイン履歴を記録する必要があります。ここでスタック オーバーフローで最後に見られたものと同様のものが必要です (履歴は保存しますが、SO がこれを行うかどうかはわかりません)。何が最善の方法なのか知りたいのですが?

  • グローバル.asax:Application_AuthenticateRequest、Application_AuthorizeRequest、Session_Start
  • サイトマスター

他に何かありますか?皆さんの長所と短所はありますか?

ありがとう

役に立ちましたか?

解決 3

私はこれをやって終了します:

私は保護され、ボイドのsession_start(中Global.asaxの中で)と認可ルーチンに入れます。

他のヒント

私は、最初のログイン履歴を保持するためにデータベーステーブルを作成します。あなたがベースのプロジェクトを使用している場合、私はFormsAuth.SignIn行の後に履歴テーブルにレコードを書き込むことがAccountControllerのログオンアクションと場所コードに行くだろう。

        if (!ValidateLogOn(userName, password))
        {
            return View();
        }

        FormsAuth.SignIn(userName, rememberMe);

        //*** Write userName to history table *****

        if (!String.IsNullOrEmpty(returnUrl))
        {
            return Redirect(returnUrl);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }

会員プロバイダはValidatingPasswordイベントを公開します。私はそれにではなく、コントローラ内の私の監査を配線します。これをさらに容易にするために、あなただけ、その後、むしろこれを処理するコードを記述することよりも、情報をキャプチャするためにあなたのWebEvent<heartbeat>機能が利用可能に使用web.configオフその火を持っている可能性があります。

また、あなたの目標は、単に障害のいくつかのレコードを持っているのであれば、失敗したログインが自動的にデフォルト設定でイベントログに送信されますのでご注意ます。

PS:ちょうど質問を再読み込み。あなたがそれを運ぶために好きなように、Site.Masterはこのような何かを行うには間違った場所です。 2番目のマスターページをintrocuceときはどうなりますか?または、テンプレートのあるものをテンプレートがたにレンダリングします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top