我有 2 个 osgi 分布式网络应用程序 A(A1,A2)和 B(B1,B2),我正在使用 shiro 共享 http 会话以进行单点登录,以便登录一个系统也登录另一个系统。但是我希望除了身份验证/授权数据之外,会话数据在系统 A 和 B 之间分离,所以我需要一种方法来共享身份验证数据并分离 A 和 B 的系统特定会话数据。我正在考虑使用 shiro单点登录并为每个系统使用不同的分布式会话来存储系统特定的数据,主要工作流程是:
- 使用 shiro 登录系统 A,使用 shiro 会话 ID 创建另一个会话(或一些数据持有者对象来存储会话数据),将其存储在后端(数据库或缓存)中。
- 在系统 A 中做一些事情,将会话数据放入上面创建的会话中,写入后端。
- 当另一个请求进入系统 A 时,查找 id 与 shiro 会话 id 匹配的会话,如果找到,则使用它,否则创建新的。
是否有意义?这是解决我的问题的正确方法吗?什么是最好的方法?请分享你的想法。任何输入表示赞赏。谢谢你。