1

ログオン ページにセッション タイムアウト メッセージを表示したいと考えています。

私は asp.net mvc Authorize 属性をオーバーライドして、セッション timeOut でユーザーをログオン ページにナビゲートしましたが、私の問題は、そのオーバーライド メソッド内で ViewData または ViewBag または Session["Message"] のようなものを設定できないことです。

私はあなたに私を助けてください...

その Override メソッド内で ViewData を設定する方法。

以下は私の CustomAuthorizeAttribute クラスです

public class CustomAuthorizeAttribute : AuthorizeAttribute
    {

        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            if (!filterContext.HttpContext.User.Identity.IsAuthenticated || SessionCache.User_ID == 0)
            {
                // User not logged in, redirect to login page 
                filterContext.Result = new HttpUnauthorizedResult();
                return;
            }

        }

    }

提案してください。

ありがとう、

4

1 に答える 1

0

Global.asax で Session_End イベントの使用を検討したいと考えています。

Session_End は InProc セッションでのみ呼び出されることに注意してください。

于 2012-06-08T16:07:09.760 に答える