asp.net 判断重复登录

zxhxiaoyi51 zxhxiaoyi51 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
可是还能登录进去,是不是因为打开一个新窗口就会重新创建一个新的Session啊”
确实是这样的。
网站都是B/S结构的。就是浏览器服务器模式。
当你打开一个浏览器登录到网站的时候。服务器会给你一个session这个session的id是唯一。也就是说别人打开一个同样网址的网页时,他的session和你的session是不同的对象。
当你在打开一个浏览器的时候也是不一样的。他针对的是浏览器而不是ip地址。

判断是否已经登录。可以使用application保存用户状态,但是会占用内存。建议使用数据库来保存。
在数据库中建一张表。保存最近一次登录时session的id 和他是什么时候登录的。
当管理员想查他现在是否在线的时候,查处他session的id 然后看看这个session现在是否已经被回收,也就是是否为null。 因为当用户超过规定时间没有提交请求的时候,系统就会回收这个session(一般默认好像是30分钟左右)。所以如果session为空就说明不在线。如果不为空那么再判断一下你保存在这个session中的用户是否与用户帐号相符。如果也相符就证明。这个用户半个小时前还再线。如果没有特殊要求,就可以认为用户现在在线。
再用登录时间和现在的时间做一下差。就能得到他在线多长时间了。

问题是 如果不为空那么再判断一下你保存在这个session中的用户是否与用户帐号相符。如果也相符就证明???? 这个是怎么判断,不明白,求指教
...全文

相关推荐

评论 23
收藏 已收藏
分享
返回顶部
zxhxiaoyi51
.NET社区 62,273 成员 668,968 内容