ASP.NET:如何检测身份验证超时
|
我已经看过像 this one这样的多篇文章解释了如何检测用户的会话已经超时.为清楚起见,这些文章指的是此web.config行定义的超时值: <sessionState mode="InProc" cookieless="UseDeviceProfile" timeout="120" /> 不要过多地使用该方法,但这涉及检查Session.IsNewSession是否为true以及会话cookie是否已存在.但我还没有看到任何关于如何检测身份验证超时的文章 – 这个web.config行定义的文章: <authentication mode="Forms">
<forms loginUrl="~/Home/Customer" timeout="60" name=".ASPXAUTH" requireSSL="false" slidingExpiration="true" defaultUrl="~/Home/Index" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
在线多篇文章,包括this SO post,都说你的会话超时值一般应该是你的身份验证超时值的两倍.所以现在,如上所述,我的会话是120,我的身份验证是60.这意味着我永远不会遇到会话超时的情况,但用户仍然是经过身份验证的;如果用户超时,那将是由于身份验证,而不是会话. 所以,和其他人一样,我对如何向用户报告他们的会话超时(但实际上这是由于身份验证超时)感兴趣.有没有人知道如何实现这一目标,或任何可以指向我解决方案的在线资源? 解决方法这可能不是最佳方法,但这是我想到的.登录时,在用户登录时记录会话标记中的时间戳.在每个后续请求(可能在global.asax BeginRequest?中)中,将此时间戳与当前时间进行比较,并将其与身份验证超时相匹配(Scott Hanselman) explains how to read it here). 这无论如何都是我的“头脑中”的想法…… (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET身份Windows身份验证(混合模式 – 表单Windows)
- asp.net-mvc – ASP.NET MVC路由:如何定义自定义路由
- 对于单个控件,asp.net – ValidateRequest =“false”
- asp.net-mvc – 具有指定Controller和Action的Html.BeginFo
- asp.net-mvc – Sitecore和ASP.net MVC
- asp.net-mvc – Umbraco 7自定义cookie
- ASP.NET C#ListBox服务器控件不会禁用
- ASP.NET UserControl不初始化子控件
- 如何修复ASP.NET错误“文件’nnn.aspx’没有预编译,不能被请
- asp.net-mvc – ASP.NET MVC的Windows Azure存储模拟器连接
- asp.net-mvc – EntityFramework – 连接字符串在
- asp.net – 当HTTPContext .Current为Nothing时如
- ASP.net移动应用程序开发
- asp.net-mvc – 如何在MVC控制器中使用消息框?
- asp.net – IIS7,SSL和“由于请求实体太大,因此未
- asp.net中强类型的会话
- asp.net-core – 如何在Entity Framework Core中
- asp.net – 什么是asp:DropDownList客户端事件?
- asp.net-mvc – Html.DisplayFor不发布值到控制器
- asp.net – 使用Entity Framework的仓库模式(mvc
