用uni-app做app,然后请求后台接口,后台是JAVA写的,涉及技术: SpringBoot,shiro.
然后发现每次请求的shiroSession不一致.
比如用户登录之后获取了token,然后后续接口传入token,能请求,但是不能获取用户信息,用户信息保存在ShiroSession会话中.
只要是需要获取用户信息的地方都失败..
不知道大佬们都解答方案没有???
用uni-app做app,然后请求后台接口,后台是JAVA写的,涉及技术: SpringBoot,shiro.
然后发现每次请求的shiroSession不一致.
比如用户登录之后获取了token,然后后续接口传入token,能请求,但是不能获取用户信息,用户信息保存在ShiroSession会话中.
只要是需要获取用户信息的地方都失败..
不知道大佬们都解答方案没有???
1 个回复
邱水仙
不用session啊,jwt方案:
服务端使用一个秘钥k;
登录成功之后通过key+随机字符串rand+时间戳t与用户id+用户密码加密码pwd生成认证字符串sign(此sign在得知rand与key的情况下可以反向解析出t跟id),
将rand与sign返回给用户进行存储,
用户发送请求前通过一定算法生成一个每次都会变化的sign2,并将sign2与rand添加到header里,
服务端再用key与rand解密sign2,如果能解出来就知道用户是谁了,然后比对时间戳t与pwd,超过一天就过期,超过一个小时但是没过期就重新生成,这样就不会有session的问题了,安全性也ok,用户修改密码的话,该用户所有登录账户也会失效,安全性比session还高