阳光沙滩博客系统-手机登录

如果说现有的登录,可不可以呢?

也是可以的,只不过会有问题:

  1. 你在PC端,也就是浏览器上登录了,如果你在手机上登录,那么PC端的就会下线;

  2. 假设使用同一个token,修改代码可以实现,但无法同时更新各端的token当token过期的时候。比如这次请i娶是从手机上发起的,token过期了,就会生成新的token和token_key,这时手机是可以更新的,但是浏览器没法更新。

  3. 退出登录也得改,如果使用同一个token,退出的时候,就是干掉自己端的token_key。

所以我们要使用各端独立的token

比如微信:你可在网页版/电脑/pad上登录(这几个是一致的,也就一个登录了,其他登录的就会下线),手机上app的就是独立的。微信是有两个token的。

如何去实现各端的token,使用一个接口。

1、知道来源:是从PC发起的登录,还是移动端发起的登录,from字段。从请求头也可以判断,设备比较多的话比较麻烦,所以还单独加个字段。不传的就网页端,传的话就是其他的,比如说移动端。

2、登录、流程差不多,token里会添加来源字段。每次访问就知道是从哪里发起的请求了。比如说发起评论,就可以知道这个评论是从移动端还是PC端来的。

保存token_key到refreshToken里,需要多一个字段。

3、退出登录和过期:之前是做法是干掉所有的refreshToken记录,重新创建新的。不删除,只修改,如果没有就添加。

  • 修改点:
    • 登录
    • 数据库
    • 解析用户流程
    • 退出登录
  • 测试点:
    • 测试登录,测试PC端登录和移动端登录 (pass)
    • 测试权限的使用是否正常(用户解析)(pass)
    • 退出登录,测试PC端退出登录,移动端退出登录

具体的修改请查看视频吧

课程地址:JavaWeb实现个人博客系统 (opens new window)

上次更新: 2022/03/28, 23:04:38