12
A
回答
11
这真的取决于你在寻找所需的功能。我假设你正在使用FormsAuthentication。
有你需要关注的两个独立的东西:会议和FormsAuthentication饼干。除非我错了,否则这两者都有单独的超时。
如果您遇到的问题是,会话超时,但用户仍然通过验证,你可以尝试以下的组合:
1:确保身份验证Cookie具有相同的超时值作为会话:
<authentication mode="Forms"><forms ... timeout="20" ... ><authentication>
<sessionState ... timeout="20" ... />
2:在你的Page_Load事件中,检查是否会话超时:
if (context.Session != null && Context.Session.IsNewSession == true &&
Page.Request.Headers["Cookie"] != null &&
Page.Request.Headers["Cookie"].IndexOf("ASP.NET_SessionId") >= 0)
{
// session has timed out, log out the user
if (Page.Request.IsAuthenticated)
{
FormsAuthentication.SignOut();
}
// redirect to timeout page
Page.Response.Redirect("/Timeout.aspx");
}
(见http://www.eggheadcafe.com/articles/20051228.asp以获取关于检测会话超时的信息)
如果您想要更愉快的用户体验,可以使用javascript在X分钟后启动某种模式UI弹出窗口。这个弹出窗口只允许用户启动一个按钮点击,这将触发服务器上的AJAX回发,从而扩展其身份验证和会话cookie,而不必重新加载页面。我从来没有实现过,但看看, this guy made an ASP.NET AJAX control!
+0
Thanks Pandincus – zSynopsis 2010-12-13 23:32:02
1
如果您使用的是.NET成员资格提供,只需设置超时设定在web.config http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=VS.100).aspx
相关问题
- 1. 当会话超时时注销用户
- 2. ASP.NET:如何在用户单击注销时结束会话?
- 3. 会话超时注销用户
- 4. 用户会话超时强制注销
- 5. 如何使用Twitter Api注销或结束用户会话?
- 6. Membershipprovider:会话结束时自动注销
- 7. 如何用户不活动,注销或会话结束
- 8. 如何在用户登录时启动会话并在用户注销时结束会话
- 9. 如何结束用户会话并确保用户已注销?
- 10. 如何在注销时结束所有会话
- 11. 在会话到期时注销用户
- 12. 如何在注销时清除会话
- 13. 用户注销后,会话超时再次登录asp
- 14. 插入用户注销信息会话超时后?
- 15. django cache.clear()结束会话(注销)
- 16. 注销或结束会话使用itsdangerous签署
- 17. 如何使用目标c注销Facebook(会话结束)Facebook?
- 18. Cakephp 3 - 在会话超时时强制注销
- 19. 注销时保存会话
- 20. 会话过期时,如何强制用户注销?
- 21. 如何在用户不活动时结束会话
- 22. 用户登录会话超时注销OOP登录/注册系统
- 23. 销毁会话,同时注销
- 24. 销毁或取消会话时,用户关闭浏览器不点击注销
- 25. 工作灯:超时未注销用户
- 26. PHP登录/注销如果会话超时= true做某事
- 27. 会话仅在注销时到期
- 28. 监听用户会话何时在JSF受管Bean中结束
- 29. 当用户会话超时时检测
- 30. 如何在会话超时时向用户显示消息
您的意思是简单地让一个用户成为未经过身份验证的用户,或者实际上将用户重定向到某些“嘿,你已经超时了!”他们等了很长时间并且他们的会话已经过期之后的页面? – Pandincus 2010-12-10 22:48:41
两者如果可能? – zSynopsis 2010-12-10 23:14:25
当会话结束时,他们所做的下一个请求将是未验证的。在这种情况下,您的页面可以在加载新页面时检查该页面。要重定向它们,如果它们在同一页面上的时间太长,则需要将JavaScript写入具有等于会话超时值的倒数计时器的页面。当计时器达到零重定向时,因为会话无效。 (有点 - 有一点需要注意的是,如果他们在另一个选项卡中浏览您的网站 - 这将使会话保持活跃状态,而第一个标签javascript仍会倒数) – Prescott 2010-12-11 03:13:41