第一次微服务没啥经验,有一个问题导致项目拖了俩天

落后君丶 发布于 05/13 10:52
阅读 693
收藏 2

原有的基础框架shiro+redis负责存储用户数据和权限数据信息,改成微服务以后,我想在其他服务中获取这些信息该咋办啊?我是单独访问用户服务?还是将cookie传递,通过cookie中的jsessionid去redis中取好一点么?

最后想了一下,为了节省没必要的网络访问我觉得还是从redis中去取好一点,问题来了,redis序列化是使用默认的,数据取不存来(序列化失败...,其他服务中没有这个类。。),种种原因我无法达到想要的效果,我有点想用第一种方法了。。。我现在相当纠结。。。不知道有没有大哥处理过类似问题,给个方向就好。我主要是没啥方向感,不知道哪一个方法更好。

加载中
1
唐代de豆腐
唐代de豆腐

1 第一种透传sessionId,你还得解决跨域问题吧

2 去redis中获取没有模型问题,可以把你的模型打成jar(这种比较好做)

其它你也以可考虑使用jwt来做

落后君丶
落后君丶
穿透sessionid 我已经做了,jwt无法控制用户上下线,不做考虑。我正在想有没有啥好办法直接序列化成json,实在不行就打jar了。
0
Joyzhou
Joyzhou

谁说Jwt无法控制用户上下线了?你序列化成Json跟Jwt不是一个道理?jwt全称是什么?

cevin
cevin
回复 @落后君丶 : 主动踢用户下线就是jwt关联的资源设置过期啊
落后君丶
落后君丶
没玩过,看过一些文章,就我自己理解就是加密数据丢个cookie然后回来在解密,主动踢出用户我真不知道咋做?
0
爱吃猫的鱼0313
爱吃猫的鱼0313

我是这样设计的, 使用网关做统一校验(校验身份), 其他服务只校验权限. 

落后君丶
落后君丶
回复 @爱吃猫的鱼0313 : 我的意思是我的服务的业务代码需要知道那个用户插入了这条数据,需要用到会话数据。我几乎所有的服务都需要用到用户数据。这个数据不想通过参数传递过去,怎么共享这个会话信息?
爱吃猫的鱼0313
爱吃猫的鱼0313
回复 @落后君丶 : 你要的是鉴权?所有的服务都是独立存在的?这个shiro不好实现的, 估计你需要换框架, 换成oauth2
爱吃猫的鱼0313
爱吃猫的鱼0313
回复 @落后君丶 : 你网关已经拿到用户信息了呀, 其它服务只是校验权限
落后君丶
落后君丶
其他服务想获取会话用户信息怎么办?
返回顶部
顶部