1

我想在我的登录页面上显示会话超时消息。

我已经覆盖了 asp.net mvc Authorize 属性来导航用户到会话超时的登录页面,但我的问题是我无法在该覆盖方法中设置 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 回答