在asp.net mvc3中会话超时时,在LogOn页面上显示消息

时间:2012-06-08 13:07:12

标签: asp.net-mvc-3 session c#-4.0 authorization

我想在LogOn页面上显示会话超时消息。

我有覆盖asp.net mvc授权属性naviagate用户登录会话timeOut上的logOn页但我的问题是我无法设置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;
            }

        }

    }

请建议。

感谢,

1 个答案:

答案 0 :(得分:0)

您希望在Global.asax中使用Session_End事件。

重要的是要意识到Session_End只会在InProc会话中调用。