Asp.net mvc ASP.NET MVC身份验证和会话超时

Asp.net mvc ASP.NET MVC身份验证和会话超时,asp.net-mvc,Asp.net Mvc,有人能建议在我的asp.net mvc应用程序中进行表单身份验证的最佳方法吗。我的要求是,若用户空闲5分钟,应用程序应自动重定向到登录页面。最好的方法是什么?按如下方式更新您的web.config: <system.web> <authentication mode="Forms"> <forms name="AppName.Auth" loginUrl="~/Account/Login" protection="All" timeout="3

有人能建议在我的asp.net mvc应用程序中进行表单身份验证的最佳方法吗。我的要求是,若用户空闲5分钟,应用程序应自动重定向到登录页面。最好的方法是什么?

按如下方式更新您的web.config:

<system.web>

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

</system.web>

超时=“300”->5分钟x 60秒


所有用[Authorize]属性修饰的MVC操作将在5分钟不活动后将用户重定向到登录页面。

您可以在表单身份验证cookie上启用slidingExpiration。感谢您的回复。我也给出了同样的方法,但当我刷新页面时它会重定向。不自动进行看起来您正在发送一个异步http请求。正确,它不会改变你的方向。您必须手动执行此操作。连接您自己的自定义Authorize属性,例如调用[AuthorizeUser],并编写处理异步请求OnAnhorization事件的代码。在网上搜索如何做到这一点,很容易做到。另一种方法是调用WebAPI方法而不是mvc方法。具有System.web.Http命名空间的web api的[Authorize]属性可以为您执行此操作。它将引发401 unauthorized response标头,您可以在客户端回调时捕获该标头并相应地执行操作。