【问题标题】:ASP.NET MVC Authentication and Session time OutASP.NET MVC 身份验证和会话超时
【发布时间】:2017-04-27 18:23:24
【问题描述】:

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

【问题讨论】:

  • 您可以在表单身份验证cookie上启用slidingExpiration。

标签: asp.net-mvc


【解决方案1】:

如下更新您的 web.config:

<system.web>

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

</system.web>

timeout="300" -> 5 分钟 x 60 秒

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

【讨论】:

  • 感谢您的回复。我给出了同样的方法,但是当我刷新我的页面时它正在重定向。不会自动运行
  • 啊,您好像在这里发送异步 http 请求。正确,它不会重定向你。您必须手动执行此操作。连接您自己的自定义 Authorize 属性,例如将其称为 [AuthorizeUser] 并编写处理异步请求 onAthorization 事件的代码。网上搜索一下怎么做,很容易搞定的。
  • 另一种方法是调用web api方法而不是mvc方法。带有 System.Web.Http 命名空间的 web api 的 [Authorize] 属性为您完成了这项工作。它将引发 401 未经授权的响应标头,您可以捕获客户端回调并采取相应措施。
猜你喜欢
  • 2016-06-23
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
相关资源
最近更新 更多