JAVAWEB问题,只要思路不要代码.逻辑能力强的高手来.

来源:百度知道 编辑:UC知道 时间:2024/06/17 21:25:31
怎样限制 一台机器上 只能登录一个帐号?
就像游戏里的单开一样,不允许多开.
我说的是 用张三帐号登录之后,不能用李四或其他登录,除非张三下线了.就可以登录其他帐号了。 希望你们读清楚再回答。 illcat00说的有点道理,可代理IP经常会变动的,
后面除了 yaoweijq 回答到题之外 其他的都没回答到点子上。 我不是要限制一个帐号一个人用。我要限制一个台机器只能登一个帐号

我感觉这个主要是看实现的复杂程序
方法比较多
比如说利用机器ip mac地址 硬盘序列号等具有唯一性标识的
信息存放在你服务器的数据库中
登陆的时候判断就OK了
web方面在用户刷新页面的时候对数据库中对应表进行定期清除就行了
以及在退出的时候对数据库中对应的数据进行清除

使用ip区分如何?在登录时判断 ,保存在线用户ip之类

1.可以在数据库中加个字段,是否登录。
2.可以在程序里做,比如将登录者的标识存在application里,但对大项目行不通
3.可以取登录者的IP/Mac地址,如果为同一个,不能再登录(但这样在不同机器上同一用户可同时登录)

可以采用在数据库里增加字段isLogin来判断,没有登陆则为0,登陆了则为1,退出后改为0。 而关键的技术点就是在于如何判断用户是否退出。 当然,如果用户是点击退出按钮或者连接的话很好判断,但如果用户直接点的是浏览器右上角的关闭按钮,该怎么判断这是个技术方面的问题。 可以借鉴一下百度Hi的那个关闭,它在点击右上角关闭时会弹出JS对话窗口。 如果这个问题解决了,一切就迎刃而解了。

javaweb 的话,试试在COOKIE 里面写点东西,然后COOKIE过期时间设置很短,用AJAX搞个长连接,浏览器关了或AJAX断了或者用户退出了COOKIE就能很快过期。

然后就能其他用户登陆了。

不会加重数据库压力。

我看了大家说,mac地址对WEB来说,不现实,只有使用cookie现实点,在cookie设置一些信息,在这个机器再有人进行登录,检验一下cookie中的信息,然后判断是否允许登录