C#怎么样防止一个ID登录多台机器?

来源:百度知道 编辑:UC知道 时间:2024/09/23 09:21:03
在做一个在线考试系统,里面有这样一个功能,要求相同ID,只能一台机器登录,不能多台登录,COOkIE SESSION application

很简单,用"在线表"机制.
在内存里创建一个Dictionary<TKey,TValue>,用户登陆,就创建一个32位随机字符串,把id和这个token存进Dictionary.以后用户的操作都需要提交这个token验证权限.

如果A登陆,拿到Token后,另外有机器用A登陆,那么Dictionary里的A的Token会被新的Token替换,原来的那个登陆是失效了.

当然,你可以在登陆时,查看Dictionary是否已经有这个用户,有的话就不让登陆,这样,第一个登陆的人就可以保持了.

给你个通用的,在你的数据库中加个“状态表”

里面是用来记录,用户操作的。

如:字段1 的值为0时用户禁止登陆,为1的时候可以登录!

但用户登录后给这个字段赋值,当这个账号再次登录的时候就去验证,它的状态。

先这样简单的说下了,上班了!

用session,session每个浏览器唯一,在服务器留一份,每次浏览器和服务器的对比下,只有第一次成功登陆的浏览器的session才会通过

用一个数据库字段记录登录后显示1,否则显示为0,当为1时,其它地方无法再次登录,看似有用,但用户如果直接关闭浏览器而没有点击退出按钮,也就是没有重新改变字段值,是不是这个用户被锁死了,以后任何情况都无法登录?

想了一下,我暂时也没有好的办法,想到了再贴出来吧。

直接检查SESSION里面有没有相同的ID号就可以保证一个时间只能一个人登录啦

同意下图的说法

C#写一个登录验证 一个代理帐号能够同时多台电脑登录吗? 用C#做一个登录界面的问题~ C#用户登录问题 C# 文本框 + 回车键 登录 C#怎么判断登录 c#用户登录问题 网吧里的多台电脑是不是只有一个IP地址而有多个ID地址?要在家里的一台电脑上改变ID该如何操作? asp限制多人用户同一ID登录 求用户登录C#源代码