应用程序在空闲10分钟后关闭用户

时间:2013-04-23 23:26:15

标签: c# asp.net asp.net-mvc-4 timeout forms-authentication

我正和另外4个人一起做小组项目。我们正在使用嵌入式c#和Razor在MVC4中设计ASP.NET中的作业信息亭。它从服务器生成动态网页。我们在Windows 7环境中使用Visual Studio 2010 SP1和Microsoft SQL Server 2008 R2 SP1。

我正在努力让系统在闲置10分钟后将用户注销。我需要一些帮助,如何开始编码系统记录用户的方式。我基本上编写一个控制器来编辑我的组中其他成员已经完成的视图(网页)。这样,计时器就会在所有视图页面上启动。

2 个答案:

答案 0 :(得分:5)

您通常会使用滑动窗口设置FormsAuthentication票证的到期值。

http://support.microsoft.com/kb/910443

<authentication mode="Forms">
   <forms name=".ASPXAUTH" loginUrl="~/Account/Login" protection="All" 
      timeout="10" path="/" slidingExpiration="true" />
</authentication>

如果您正在使用MVC的默认[Authorize]属性,并使用WebSecurity,那么这应该会自动运行。如果您要发布自己的表单身份验证票证,则可能必须明确设置值。

其他人提到会话超时,但要注意两件事。首先,您不应该进行任何与Session相关的身份验证,第二个会话超时和身份验证超时是两回事,尽管您可能希望保持同步。但是滑动窗口更难做到。

答案 1 :(得分:-1)

您可以使用Web.config中的以下条目控制会话,例如:

<configuration>
    <system.web>
        <sessionState timeout="2" />
    </system.web>
</configuration>