没有伞就要努力奔跑 2016-07-27 03:32 采纳率: 0%
浏览 2400

session单点登录怎么实现

我打算用一个Map在HttpSessionListener中实现单点登录,相同的用户登陆的时候把前者踢出,怎么实现

  • 写回答

3条回答 默认 最新

  • little_how 2016-07-27 03:47
    关注

    主要看你是要时时踢掉还是非时时踢掉?也要看你的是web的还是app的?
    时时:要么长连接(app端可做心跳),要么不断轮询(效率低下,web端)
    非时时:检测session就ok

    1.自己写一个管理session的map即可,map最好是线程安全的
    2.登录和登出都可以访问map
    3.map的key用用户主键或者其他算法实现
    4.有用户登录的时候,检测之前是否也有用户在线,并且判断session是否过期
    5.如果4中检测到有用户,那么就将原来的session设置为过期,然后替换为新的session
    6.如果是app端,最后用设备标识来判断,具体看你业务了。
    7.客户端检测到session过期,提示重新登录。(检测可以是长连接或者轮询)

    希望能够帮到你...

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。