共享session的问题

之前在这边问过波总一个共享session的问题,波总让我参考一下club的项目,之后我去看了下club的解决方案。

club的session是在用户登录时把用户的session保存到数据库中。但是如果我现在有这么一个需求,需要在用户没有登录的时候实现session的共享怎么做?

其实思路我的话我之前想过一点,但是没太想明白,我只要能获取到用户的连入的唯一标识符,然后把它这个标识符和第一个创建的session做一个绑定存到redis中,如果客户端传来的jsessionid在redis中有我就拿之前那个sessionm

但是有这样几个问题

  1. 我怎么获得这个session的唯一标识符

  2. 我怎么管理我的session的生命周期

评论区

JFinal

2017-08-26 10:24

解决办法极其简单,不管用户登录还是没登录,都让其持有一个 session 对象,都在数据库的 session 表中创建一条记录

然后,再为这个 session 添加一个 isLogin 字段,没登录就是 0,登录就是 1。通过 session 对象去获取用户的 account 对象时,先判断一下 isLogin 是否为 1

当然,对于没有注册的用户,accountId 设置为 0 就可以了

热门反馈

扫码入社