我正在开发一项功能,我的应用程序将不允许来自同一用户的多次活动登录。当用户从新机器/浏览器登录时,之前的登录无效,用户被重定向到旧机器/浏览器上的登录页面。
我可以通过以下方式实现这一点:
1. 在 HttpApplicationState 对象中存储登录用户的唯一 sessionid
2. 每当用户登录时,此会话 id 都会在对象中更新,因此总是有最新的会话 id。
3. 此会话 ID 也存储在客户端的 cookie 中
4. 对于客户端发出的每个请求,我将此 cookie 值与应用程序值进行比较,如果不同,我将用户注销。
5. 为了比较每个请求中的会话 ID,我为事件 OnAuthenticated 创建了一个 HttpModule 对象。
我的问题是,我可以以某种方式放弃我正在注销用户的会话吗?