【发布时间】:2012-10-06 05:07:16
【问题描述】:
我想为我的 Web 应用程序设置 12 小时的超时时间。
我已经在 web.config 文件中设置为:
<system.web>
<sessionState timeout="720" />
</system.web>
如以下post中所建议的:
- 我知道
Application Pool每 20 分钟循环一次(如果池是理想的)。
我还使用关于 application pool timeout setting 的一个问题检查了更改应用程序池超时 - 但
session超时仍未设置为 720 分钟。我是否需要更改machine.config文件以更改session超时。
但我认为machine.config文件的属性应该被web.config文件覆盖。
请给我一些想法。
【问题讨论】:
-
为什么要将会话保持 12 小时?这就像让某人占用一个停车位 5 分钟,然后保留 12 小时以防他们可能会回来。很快,你所有的位置都被填满了,没有人可以停车。
-
客户要求。他们有任何客户都可以来查看应用程序的机器。所以密码是客户而不是客户。所以我需要将会话时间保持 12 小时。希望这可以证明我的问题。或者你有什么其他的出路。
-
您将身份验证与会话混淆了。会话与密码无关。如果您的身份验证 cookie 仍然有效,您的会话可能会过期或被重置并仍被授予访问该站点的权限。它们是两个独立的系统。会话仅用于存储用户当前状态,如果会话过期,设计合理的应用可以重新生成该状态。
-
您是在谈论持久性 cookie。例如FormsAuthentication.SetAuthCookie('用户名', true);但是cookie的到期时间是多少。或者我可以手动配置身份验证 cookie。我的想法是否正确?
-
FormsAuthentication 是一种方式,是的。是的,您可以控制 cookie 的过期时间。
标签: asp.net iis-7.5 session-timeout