如何从Unique sessionID终止会话
本文关键字:终止 会话 sessionID Unique | 更新日期: 2023-09-27 18:29:25
我已经统计了网络服务器的在线用户数量。我已经创建了用户名&将密码分配给个人计算机,然后使用该用户名用户可以访问主页&登录用户后,我在数据表中添加了用户名、会话ID和IP地址。如果我的用户已经从另一台计算机连接,那么同一用户访问另一台电脑的信息,那么用户首先使用从sessionID终止会话来断开已经连接的用户与当前电脑的连接。则另一个计算机功能被用户自动禁用,然后用户可以为当前计算机启动新会话。
如何从Unique sessionID&禁用了其他计算机用户的所有功能?
我会这样尝试:登录时生成一个随机字符串,将其写入会话变量并存储在数据库中,然后在ur页面中将这些值相互比较以验证用户访问权限。通过这种方式,用户只能登录一次。
您可以使用以下代码:
Session.Remove("keyOfSession");
例如,ApplicationInstance中可能有一个属性对象,例如Dictionary:
- 密钥将是userId
- Value将是KeyValuePair的列表,其中
- KVP密钥将是用户IP
- KVP值将是会话对象的WeakReference
在Session_Start结束时,在Dictionary=>List中插入一个项目,该项目对应于持有会话对象WeakReference的相应用户和IP。然后,您还结束()该用户和其他IP的所有其他非null、弱引用的会话对象(请注意,一些用户通过可能在请求之间更改的动态代理访问互联网)