可以使用PHP的$\会话访问在Java上创建的HttpSession吗

可以使用PHP的$\会话访问在Java上创建的HttpSession吗,java,php,session,portal,httpsession,Java,Php,Session,Portal,Httpsession,我目前正在一个门户网站上工作,该门户网站将为JSP和PHP web应用程序提供整合登录 我想尝试2应用程序是否可以共享同一会话。您的问题没有单一答案,但这取决于您如何完成此任务 通常,由于与在应用程序之间共享同一数据库相同的原因,不鼓励在服务之间共享会话。你在双方之间建立了一种依赖关系,很容易打破这种依赖关系 对于您的实际问题:如果您使用ASCII/UTF-8键和值将会话表示为Redis哈希(映射/字典数据结构),那么您应该能够从两个应用程序访问数据 在任何情况下,从开发的角度来看,提供一个切换

我目前正在一个门户网站上工作,该门户网站将为JSP和PHP web应用程序提供整合登录


我想尝试2应用程序是否可以共享同一会话。

您的问题没有单一答案,但这取决于您如何完成此任务

通常,由于与在应用程序之间共享同一数据库相同的原因,不鼓励在服务之间共享会话。你在双方之间建立了一种依赖关系,很容易打破这种依赖关系

对于您的实际问题:如果您使用ASCII/UTF-8键和值将会话表示为Redis哈希(映射/字典数据结构),那么您应该能够从两个应用程序访问数据

在任何情况下,从开发的角度来看,提供一个切换端点会更安全,另一个应用程序会要求该端点检索关于特定会话的元数据。可以正确地指定端点,并获得更高的可见性,从而降低破坏事物的风险


当您试图在不适当的级别上解决问题时,这种类型的问题通常会揭示体系结构问题。

我不会参加同样的会议,即使后来有人提出了如何使之成为可能的答案。然而,在您最初的问题中,问题似乎是您只想登录一次。共享会话就是您提出的解决方案

事实证明,有一个完美的适合你原来的问题-它只是不涉及你设想的解决方案。相反,它被称为SSO,“单点登录”。在这样的系统中,您将向(可能的)第三个系统进行身份验证,该系统将验证用户名/密码,并将其传递给所有将身份验证委托给它的Web应用程序。这样,您就可以在单个位置进行身份验证,并且可以立即登录到其他所有系统


想想在任何网站上登录Facebook或Google。如果您在自己的服务器上运行SSO,您甚至可以将其配置为在SSO已经知道您的情况下透明登录,这样用户就看不到通过SSO的重定向,除非他们密切关注浏览器的位置栏。

否。这是不可能的。它们可以共享相同的会话id,但运行时彼此不知道(即使它们知道,也没有互操作api)。即使您使用的是Quercus,会话也不会共享(尽管如果您使用的是Quercus,您可以从php访问servlet会话)。非常感谢。我将寻找另一种方法,然后可能通过api或坚持使用单一语言