我对应该注销用户的内容感到有些困惑.
目前我将会话超时设置为20分钟,我认为一旦会话到期,用户就应该注销.
我可以添加一个代码,在session_end上执行此操作.
我在web.config中遇到了表单身份验证超时.目前它已经设定为48小时.
我已将身份验证超时更改为20分钟,并且正在执行此任务.
那么会话超时会注销用户还是应该通过表单身份验证超时来完成?
谢谢
编辑:
我现在面临的是,会话变量设置为0,这很好,因为会话已经超时.但我原以为用户也会被注销.
我是否正确地说,身份验证数据始终存储在cookie中,并且只有在我达到表单身份验证超时后才会清除该cookie?
因此,我所面临的是预期的行为.用户丢失会话但他仍然登录,因为身份验证信息存储在cookie中.
在这种情况下,我可以将会话超时设置为与表单身份验证超时完全相同.这里的假设是当用户在网站上做任何事情时,表单身份验证超时会被刷新.
另一种方法是将代码添加到sesseion_end方法中,我会将用户注销.
编辑2:
身份验证超时是否会在会话超时的同时刷新?
编辑3:
遇到这种情况“滑动过期会在一次会话期间重置每个请求的活动身份验证cookie到期时间.”我相信这就是我想要实现的目标.如果会话和身份验证超时相同,则每次重置会话超时时都会重置身份验证超时,这应该可以完成.欢迎任何反馈……
最佳答案 我认为这取决于您的Web应用程序的性质.大多数常规网站(例如StackOverflow)在会话结束时不会将用户注销.但是,对于安全关键网站(即银行),用户的登录状态取决于会话,通常会缩短到几分钟.
通过它的声音,您的Web表单依赖于用户登录,如果这完全取决于会话,那么您将需要ping服务器以使会话保持活动状态.
除非表格要求提供安全/个人信息,否则我不会对其完成施加短暂的时间限制.这不是我第一次完成一张表格,早上睡觉并完成它!