【问题标题】:Check if user has an active session on another web application检查用户是否在另一个 Web 应用程序上有活动会话
【发布时间】:2014-07-08 10:33:00
【问题描述】:

我有以下情况: 用户登录到 Web 应用程序 A。 登录后,他可以单击将他带到 Web 应用程序 B 的链接。 为了增加安全性,如果用户直接到达 webapp B,则会调用 webapp A 以检查用户是否具有有效会话,然后才允许他访问 webapp B。

两个网站都在 weblogic 上使用 servlet。

关于如何设置的任何建议?

【问题讨论】:

  • 他们都部署在同一个容器上?
  • 是的,它们部署在同一个Weblogic上。
  • 您能否在 Web 应用程序 A 中插入有关登录用户的数据库信息并在我们的应用程序 B 中检查数据库?
  • 如果可能的话,我宁愿避免求助于数据库。这需要在第一个网络应用程序上添加一些棘手的会话状态跟踪。
  • 描述您的方法的技术论文:docs.oracle.com/cd/E19528-01/819-4669/adrbn/index.html

标签: java session servlets cross-domain


【解决方案1】:

方法#1

在应用程序A 中公开REST 服务,应用程序B 将调用如下:

应用A 网址:https://www.myappA.com/public/isSessionActive.do?user=userId

App B 将调用以上公共 URL。

App A 将返回 JSON,如:{"user":"userId", "isSessionActive":"Y"}

在您的应用程序A 中,您可以在收到 REST 调用后围绕您的用户会话编写代码。

方法 #2

写入应用程序AB 连接的数据库。登录成功后,为用户设置标志为ACTIVE。当用户注销时,将标志设置为INACTIVE。然后应用程序B 将使用此数据进行验证。

在我看来,方法#1 更可取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2011-08-23
    • 2018-08-23
    • 1970-01-01
    相关资源
    最近更新 更多