JAVAWEB问题,只要思路不要代码.逻辑能力强的高手来.
来源:百度知道 编辑:UC知道 时间:2024/09/21 04:36:24
怎样限制 一台机器上 只能登录一个帐号?
就像游戏里的单开一样,不允许多开.
我说的是 用张三帐号登录之后,不能用李四或其他登录,除非张三下线了.就可以登录其他帐号了。 希望你们读清楚再回答。 illcat00说的有点道理,可代理IP经常会变动的,
后面除了 yaoweijq 回答到题之外 其他的都没回答到点子上。 我不是要限制一个帐号一个人用。我要限制一个台机器只能登一个帐号
就像游戏里的单开一样,不允许多开.
我说的是 用张三帐号登录之后,不能用李四或其他登录,除非张三下线了.就可以登录其他帐号了。 希望你们读清楚再回答。 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中的信息,然后判断是否允许登录