【问题标题】:asp.net mvc session objectasp.net mvc 会话对象
【发布时间】:2010-12-20 12:57:41
【问题描述】:

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

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

到 webconfig 文件。分钟后它重定向到登录页面。但我知道我的会话将在 10 分钟后结束。我怎样才能使 Session 对象和 httpContext.Request.IsAuthenticated 同时死亡?

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

【问题讨论】:

  • 这已被问到before。但接受的答案只是将数据添加到身份验证票证中。你确定你不能简单地这样做......?
  • 这不是我需要的。 httpContext.Request.IsAuthenticated 返回 false 但会话尚未终止。

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


【解决方案1】:

我做到了。 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 分钟

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2011-02-13
    • 1970-01-01
    相关资源
    最近更新 更多