根据我在谷歌搜索问题后的理解,ASP.NET用于用户身份验证的身份验证票证会在一段时间后过期,此时任何回发或页面加载都会导致用户被重定向到登录页面。但是,当票证超时时,不会触发任何事件。因此,如果我希望实现注销事件,则在票证到期时不会触发它。
我的问题是:无论如何都要绕过这个问题?我需要在用户退出我的网站时进行登录,但是如果故障单超时并且用户被重定向到登录页面并认为他们已经登出以便他们只是关闭浏览器,我将永远不会记录何时他们退出了。
由于
答案 0 :(得分:0)
我通过将自定义对象放到asp.net缓存中看到了这种行为。您将缓存超时设置为与会话相同的时间范围,并在每次用户访问网站时刷新缓存超时。当缓存超时方法被触发时,您知道用户会话已结束。
这是一种肮脏的方法,但应用程序可以重新启动,用户可以返回,会话结束,但这并不意味着用户已注销。