社区
Web 开发
帖子详情
java重复登录问题
lenhan12345
2009-09-16 10:16:54
我有一个登录页面login.jsp,登录成功后,把用户相关的信息放到了session里面,用时再取出,但是我加外再开一个ie,用登录成功后的用户名和密码同样的可以登录,我希望登录成功之后,相同的用户只能登录一次,怎么实现,说说思想。。。。
...全文
1249
43
打赏
收藏
java重复登录问题
我有一个登录页面login.jsp,登录成功后,把用户相关的信息放到了session里面,用时再取出,但是我加外再开一个ie,用登录成功后的用户名和密码同样的可以登录,我希望登录成功之后,相同的用户只能登录一次,怎么实现,说说思想。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
43 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangyu093305
2012-04-06
打赏
举报
回复
或者设置一个sessionId 登录成功时则给sessionId分配一个值,第二个人再登录同一个用户时再给sessionId分配一个值,第一个人执行操作时区数据库中查sessionId的值,如果和第一次分配的不一致,则提示已有用户登录!!!你还可以用ajax。但是对服务器负载太大,不推荐!!!如果找到什么,好的解决办法,希望你能告诉我一声,我也想学习一下!!!
zhangyu093305
2012-04-06
打赏
举报
回复
可以在数据表中加个字段,online (boolean) 登录成功了就把online更新成true 否则就是false 默认值为false 登录成功后,有第二个人登录这个账号时在数据表中查询online 如果为true则提示账号已登录。如果为false正常校验!!!
授捕鸟
2012-03-14
打赏
举报
回复
解决了没啊?
努力
2009-09-22
打赏
举报
回复
[Quote=引用 28 楼 dbx915 的回复:]
在放入Session 之前可以先判断一下当前登录是否与Session 中的值一样,如果一样就不能再登录了
[/Quote]
如果是两台机子用一个账户登陆呢?没考虑过吧?session不就没用了吧。
yekai012
2009-09-22
打赏
举报
回复
楼上,从聊天室的角度去考虑吧。哈哈,应该可以。
palosky
2009-09-22
打赏
举报
回复
这个问题很厉害 光靠session 过滤器 监听器 flag=1或者0
根本无法实现!你想啊 要考虑的情况太多了!
(1)flag=1 或者0 断电了怎么办?突然断网怎么办?(小项目无所谓 大项目那就惨了)
(2)session 我不一定非要打开一个浏览器啊 有可能开很多呢 有可能IE FireFox 多面操作呢?
(3)监听器 过滤器等。那你怎么控制用户在线时间呢?况且还有很多突发事件呢?
这个问题我目前没有头绪,而且也遇到好几回了,解决不了!希望大家都能出谋划策啊……
实在不行,就当聊天,锻炼一下文笔……
albb0608
2009-09-22
打赏
举报
回复
可不可以考虑一下单线程
lenhan12345
2009-09-22
打赏
举报
回复
谢谢各位高手了,我正在试。呵呵。。我现在写了一个过滤器,是用来限制用户必须登录的
就是用户如果不进行登录页面,就强制先登录。但是现在有个问题,我所以的页面都在项目下,
包括后台我前台的所有页面,但是我只限制后台,如果用了这个过滤器,就连前台也被强制到登录页面了
<filter>
<filter-name>checkLoginFilter</filter-name>
<filter-class>com.dbl.db.CheckLoginFilter</filter-class>
<init-param>
<param-name>logonStrings</param-name>
<param-value>login.jsp</param-value>
</init-param>
<init-param>
<param-name>includeStrings</param-name>
<param-value>.jsp;.html</param-value>
</init-param>
<init-param>
<param-name>redirectPath</param-name>
<param-value>/login.jsp</param-value>
</init-param>
<init-param>
<param-name>disabletestfilter</param-name>
<param-value>Y</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>checkLoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这是配置文件。但是我只想对后的一些文件起作用,前台网站文件可以正常使用。应当怎么样设置
关键是现在已经全部完成,如果再分目录会很麻烦。。。。。应当怎么处理一下。。。。。。。
cgh45
2009-09-21
打赏
举报
回复
楼主可以试下做两个界面,一个是普通的登录页面,一个是强制登录页面,同时数据库加个两个标志位:login_flag,code(每次登录成功时自动生成值)。
第一次登的时候将login_flag置1,同时自动生成一个code分别保存在数据库和客户端;
第二次在普通页面登录时,判断数据库中login_flag是否为1,为1的话跳转到强制登录页面,提示用户是否强制登录;如果是在强制登录页面登录,判断是否已经登录,未登录新生成一个code,已登录则把数据库中code改为此次登录生成的code,login_flag置1。
登录系统后,每执行一个操作,就判断客户端的code是否跟数据库的一样,不一样跳转到强制登录页面。
当然你正常退出的话要把数据库的login_flag置0,code清空。
kaynezhang
2009-09-21
打赏
举报
回复
把登陆的ID放在application 范围内,然后使用SessionListener
longtenggdf
2009-09-21
打赏
举报
回复
还是在数据可加个字段吧。
longtenggdf
2009-09-21
打赏
举报
回复
楼主没有明白什么是session~
pengrong
2009-09-21
打赏
举报
回复
[Quote=引用 20 楼 lenhan12345 的回复:]
前面讨论的贴子没有解决实际问题呀。。。
有人说到struts令牌,,,,有人懂吗?个人觉得这个应当不错.
[/Quote]
struts令牌是防止数据重复提交的,就在表中加个字段,再弄一session监听器 就ok
baoisflying
2009-09-21
打赏
举报
回复
使用监听器。用户一登陆时,就把用户设置到session中,session里有个validate方法。当调用这个方法时。就把这个用户remove掉。
yekai012
2009-09-21
打赏
举报
回复
还没完事啊,建议先弄明白HTTP协议原理和Session原理吧。
-----在规范内做事:超越了规范,只能加一些技巧,但不可能超越规范。
ctlu2ct2t
2009-09-19
打赏
举报
回复
[Quote=引用 18 楼 apollo_ts 的回复:]
原来是单点登陆
这个很复杂,问题也很多,即是SPRING这样的开源英雄也是使用中间平台,看http://www.jasig.org/cas
[/Quote]
顶这个吧!!!
lenhan12345
2009-09-19
打赏
举报
回复
设置数据库字段是不现实原,如果不正常退出的话,是不是这个字段的值就没变过来。那么是不是上次就不能登录了????????有没有类似QQ的那种方法,后来的人把前面的人踢下去,具体怎么实现呢?
dbx915
2009-09-19
打赏
举报
回复
在放入Session 之前可以先判断一下当前登录是否与Session 中的值一样,如果一样就不能再登录了
qx8668
2009-09-19
打赏
举报
回复
用AJAX+SESSION监听器
我以前这样实现过,但JS毕竟是客户端还是会出事情,
所以SESSION生命期就搞个10秒吧
但比JS关闭窗体执行代码好多了,用数据库的可以说是最最烂的方法
juyang0303
2009-09-18
打赏
举报
回复
这个简单,在用户表里设置一个登陆状态,第一次登陆成功时状态改为1,否则(session失效)为零,这样就行了
加载更多回复(23)
JAVA
上百实例源码以及开源项目
Java
局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是
Java
版的确实不多,因此这个
Java
文件传输实例不可错过,
Java
网络编程技能的提升很有帮助。
Java
聊天程序,包括服务端和...
java
中防止
重复
登陆_
Java
Web开发防止多用户
重复
登录
的完美解决方案
推荐阅读:
Java
多用户
登录
限制的实现方法现在有两种解决方案:1、将用户的
登录
信息用一个标志位的字段保存起来,每次
登录
成功就标记1,注销
登录
就标记为0,当标记为1的时候不允许别人
登录
。2、将用户的
登录
信息保存...
Java
学习指南(
Java
入门与进阶)
这是
Java
学习指南系列课程的第1篇,介绍
Java
语言的入门语法,引领希望学习
Java
语言编程的初学者进入
Java
大门。 本课程不需要其他语言作为基础,可以直接学习。 课程从
Java
开发平台的下载和安装开始,从浅到深、从...
java
用户
重复
登录
_
Java
中简单的防止用户
重复
登录
解决方案 - 穿梭于偶然
} } 另外,还有一个
问题
,如果说
登录
的用户突然关闭了浏览器而没有点击退出按钮。那么可以利用beforeunload 事件,在浏览器刷新或者关闭的时候触发。 //在刷新或关闭时调用的事件 $(window).bind('beforeunload',...
java
使用过滤器和监听器防止用户
重复
登录
这就是QQ限制了同一个号码在电脑上不能
重复
登录
,我们的Web程序也可以进行
重复
登录
的限制,那么本次任务就是用过滤器和监听器来解决
重复
登录
问题
。具体任务如下: 1、未
登录
时不能访问主界面。 2、
登录
后,
登录
...
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章