SSH开发,已经有一个spring的listener了。
如何再写一个listener,实现用户登录的时候,将用户id放入application中。
如果同一账号在别处登录,检查application中是否存在,如果已经存在这个ID,将之前登录这个session注销掉(踢掉)。
论坛里面有关于这个讨论的。我看了,但是按照那个说法写了,总是报错。
思路已经有了,但是还是写不出来,希望各位大大们帮忙看看。
不明白的:
1、application创建的时候,要放什么进去?类型是什么?TreeSet?还是Map?
2、如何知道用户登录成功了,将id放进application中。session创建的时候是用户访问首页就创建了,但是怎么知道他登录成功了呢?loginAction中编写?
sshapplicationsessionspring

解决方案 »

  1.   

    用框架吧,比如CAS或者http://www.blogjava.net/xcp/archive/2010/04/13/318125.html
      

  2.   

    第一次登陆时,将session和登陆状态保存数据库,再次登陆时就销毁原session和修改登陆状态,退出时也销毁该session还需要一个定时器去定时检查该用户是否在处于登陆状态(为了避免用户直接通过关闭浏览器等手段直接退出系统)
      

  3.   

    那你可以这样试试,在表内设置一个标志位比如isLogin字段,登录成功就设置为1,退出或者关闭浏览器就设置为0,登录前先判断isLogin的值就行了,如果为1,就说明有人登录,你再考虑如何让它掉线。
      

  4.   

    ajax后去去这个字段。设置session过期就掉线了。
      

  5.   

    单点登录跟SSO有毛线关系,CAS好 但是要集成 PHP .NET ASP 等WEB项目怎么办?我的意思是了解清楚SSO原理 搞一套 反正是验证那十几个步骤 又不复杂。