asp.net mvc会话对象

时间:2010-12-13 15:30:15

标签: asp.net asp.net-mvc-2

我想在Session对象上保存一些用户设置。如果我需要它,从Session获取它。因此我想创建另一个控制器从这个BaseController继承的Base Controller。并希望检查会话是否为null。如果session为null,则重定向到登录页面。我添加了

<authentication mode="Forms">
      <forms loginUrl="~/Membership/LogOn" timeout="1" defaultUrl="~/Membership/LogOn" />
    </authentication>

到webconfig文件。一分钟后,它重定向到LogOn页面。但我知道我的会议将在10分钟后结束。我怎么能让Session对象和httpContext.Request.IsAuthenticated同时死掉?

请告诉我在哪个事件我必须在BaseController中检查会话。在OnActionExecuting?

1 个答案:

答案 0 :(得分:0)

我做到了。 1.我在Session_Start()事件中创建了Global.asax文件的会话 2.我已配置IIS,以便我的会话将在(5分钟)后过期 3.并将此部分添加到web.config文件

  <authentication mode="Forms">
          <forms loginUrl="~/Membership/LogOn" timeout="5" defaultUrl="~/Membership/LogOn" />
    </authentication> 

现在httpContext.Request.IsAuthenticated会在遇到会话时返回false。因为超时都是5分钟