c# – 会话超时或表单身份验证超时是否应该注销用户?

我对应该注销用户的内容感到有些困惑.

目前我将会话超时设置为20分钟,我认为一旦会话到期,用户就应该注销.

我可以添加一个代码,在session_end上执行此操作.

我在web.config中遇到了表单身份验证超时.目前它已经设定为48小时.

我已将身份验证超时更改为20分钟,并且正在执行此任务.

那么会话超时会注销用户还是应该通过表单身份验证超时来完成?

谢谢

编辑:

我现在面临的是,会话变量设置为0,这很好,因为会话已经超时.但我原以为用户也会被注销.

我是否正确地说,身份验证数据始终存储在cookie中,并且只有在我达到表单身份验证超时后才会清除该cookie?

因此,我所面临的是预期的行为.用户丢失会话但他仍然登录,因为身份验证信息存储在cookie中.

在这种情况下,我可以将会话超时设置为与表单身份验证超时完全相同.这里的假设是当用户在网站上做任何事情时,表单身份验证超时会被刷新.

另一种方法是将代码添加到sesseion_end方法中,我会将用户注销.

编辑2:

身份验证超时是否会在会话超时的同时刷新?

编辑3:

遇到这种情况“滑动过期会在一次会话期间重置每个请求的活动身份验证cookie到期时间.”我相信这就是我想要实现的目标.如果会话和身份验证超时相同,则每次重置会话超时时都会重置身份验证超时,这应该可以完成.欢迎任何反馈……

最佳答案 我认为这取决于您的Web应用程序的性质.大多数常规网站(例如StackOverflow)在会话结束时不会将用户注销.但是,对于安全关键网站(即银行),用户的登录状态取决于会话,通常会缩短到几分钟.

通过它的声音,您的Web表单依赖于用户登录,如果这完全取决于会话,那么您将需要ping服务器以使会话保持活动状态.

除非表格要求提供安全/个人信息,否则我不会对其完成施加短暂的时间限制.这不是我第一次完成一张表格,早上睡觉并完成它!

点赞