从一个Web应用程序到另一个Web应用程序获取Cookie或会话

时间:2018-10-25 10:06:14

标签: java jsp session cookies

我有两个Web项目Admin和Dashboard。 AdminEAR正在部署在具有项目Admin和Dashboard的服务器上。

我在Admin项目JSP中提供了href链接,该链接会将我带到仪表板索引页面。

管理项目URL为

  

http://localhost:8080/admindesktop/admin/

,href将带我们进入带有URL的页面

  

http://localhost:8080/BMDashboard/index

管理员有一个我要在项目仪表板中获取的用户名。 如果有人退出Admin项目,我也希望仪表板也退出。

如何实现?你们有什么建议吗?

仪表板使用Spring和Hibernate,但Admin不使用它。这是简单的网络应用程序

2 个答案:

答案 0 :(得分:1)

尝试创建一个路径明确设置为“ /”的cookie,并查看是否可以从其他应用程序访问它,因为上下文根将不会起作用。一旦确认您有权访问cookie(也应该能够在浏览器中检查它),您就可以创建一个javascript间隔函数,该函数会不断轮询服务器以获取cookie的状态...如果cookie具有被删除(将最大生存时间设置为-1)将用户重定向到注销页面并使会话无效。以下代码段是创建cookie的标准方法:

Cookie cookie = new Cookie("auth_token",cookieValue);
cookie.setHttpOnly(true);
cookie.setMaxAge(28800);
cookie.setPath("/");
httpResponse.addCookie(cookie);

以下代码段使cookie无效:

cookie.setMaxAge(0) // important part to invalidate the cookie;
cookie.setPath("/");
response.addCookie(cookie);

答案 1 :(得分:0)

如果您要使用多个登录名进行通用登录,我认为您应该使用单点登录。

  

https://searchsecurity.techtarget.com/definition/single-sign-on

如果您无法执行此操作,则使用“ /”路径共享cookie是极简主义的方法。看一下以下链接:-

  

http://www.informit.com/articles/article.aspx?p=26138&seqNum=7