0

ログイン時の MVC 3 アプリケーションでは、次のように実行されます。

    System.Web.Security.FormsAuthentication.SetAuthCookie(userName, false);

私のweb.configには次のものがあります:

    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

その後、いくつかのセッション変数を設定しました。問題は、セッションが期限切れになるまでページを離れてからページをクリックすると、ログイン画面にリダイレクトされる代わりに、セッション変数の null 参照でコントローラーで例外が発生することです。

     public ActionResult Fixit(int Id, int cardId)
        {
            var model = new FixitVM();

            model.PointsMaxValue = (int)Session["MAXPoints"];
        }

これは予想される動作ですか?このコードが実行される前に、ログイン ページへのリダイレクトが行われると思っていたでしょう。このコードを評価する前にリダイレクトを行うように設定できる設定はありますか?

4

1 に答える 1

1

認証とセッションは、2 つの異なる Cookie によって管理されます。認証 Cookie がまだ有効である間に、セッション Cookie の有効期限が切れている可能性があります。

于 2012-08-02T17:40:11.177 に答える