我对注销用户的方式有些困惑。
目前,我设置了会话超时时间为20分钟,并认为一旦会话过期,用户应该被注销。
我可以添加代码,在session_end事件中执行注销操作。
我在web.config文件中发现了一个表单身份验证超时时间。目前它设置为48小时。
我将身份验证超时时间更改为20分钟,这样就能实现注销了。
所以,是会话超时应该注销用户还是应该由表单身份验证超时来完成?
谢谢
编辑:
我现在面临的问题是,会话变量被设置为0,这很好,因为会话已经超时了。但我认为用户也应该被注销。
我的理解是,身份验证数据始终存储在cookie中,只有在达到表单身份验证超时时间后才会清除cookie。
因此,我面临的情况是预期的行为。用户失去了会话,但他仍然登录,因为身份验证信息存储在cookie中。
在这种情况下,我可以将会话超时时间设置为与表单身份验证超时时间完全相同。假设表单身份验证超时时间在用户在网站上进行任何操作时都会刷新。
另一种选择是在session_end方法中添加代码,注销用户。
编辑2:
身份验证超时时间是否与会话超时时间同时刷新?
编辑3:
我发现了这个"滑动过期将在单个会话期间的每个请求期间重置活动身份验证cookie的到期时间。",我认为这就是我想要实现的。如果会话和身份验证超时时间相同,则每次重置会话超时时间时身份验证超时时间也会被重置,这应该可以完成任务。欢迎任何反馈...