两个项目共享session,用户信息覆盖问题

mad小马 2015-05-28 05:09:38
session共享实现:
项目A :
// 多项目调用
ServletContext ContextA = session.getServletContext();
ContextA.setAttribute("session", session);

项目B:
HttpSession session1 = request.getSession();
ServletContext Context = session1.getServletContext();
ServletContext Context1 = Context.getContext("/energy");
HttpSession session = null;
if (Context1 != null && !Context1.equals("")) {
session = (HttpSession) Context1.getAttribute("session");
}
String accountid = session.getAttribute("accountid").toString();

tomcat server.xml:
 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/energy" reloadable="true" crossContext="true" />
<Context path="/UEAnalyze" reloadable="true" crossContext="true" />



现在可以在项目B中获得session,但是如果有p1用户登陆后p2用户再登陆,结果p2信息覆盖p1信息,在p1获得p2的权限。就是说后登陆的把前面登陆的覆盖了。
求助各位,怎么解决现在的问题,谢谢。
...全文
450 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcshcn 2015-05-29
  • 打赏
  • 举报
回复
我认为你想实现的是基于同一个base url下项目单点登录,各应用共享用户信息。如果是这样,既然是单点登录,就要单点,不要多点登陆,以免冲突。
mad小马 2015-05-29
  • 打赏
  • 举报
回复
引用 1 楼 z345434645 的回复:
搞个缓存服务器,把session放进去,两个项目共享。
能具体说下吗?
邹邹wl 2015-05-28
  • 打赏
  • 举报
回复
搞个缓存服务器,把session放进去,两个项目共享。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧