session - Tomcat 中的 crossContext 属性有什么作用?它是否启用 session 共享?

标签 session jakarta-ee tomcat cross-context

所有我能在 Tomcat 5.5 docs 中找到的是:

Set to true if you want calls within this application to ServletContext.getContext() to successfully return a request dispatcher for other web applications running on this virtual host. Set to false (the default) in security conscious environments, to make getContext() always return null.

我发现一些论坛帖子评论说设置 crossContext=true 也可以在不同的网络应用程序之间共享 session 对象,但我找不到任何官方文档说明这一点。

Servlet.getContext() 与在不同 Web 应用程序之间共享 session 状态的能力之间是否存在关系?

crossContext 属性在 Tomcat 中真正的作用是什么?

最佳答案

您可以使用 Single Sign-On Valve 在 Web 应用程序之间共享 session .

如果您想在同一虚拟主机中的不同 Web 应用程序之间共享一些信息,您可以设置 crossContext=true

例如 app1 会调用:

setAttribute("name", object);

另一个应用可以调用

getContext("/app1").getAttribute("name");

阅读信息。如果 crossContext 未设置为 true,则 getContext("/app1") 将返回 null。

但是,crossContext 的使用既罕见又可能不安全。

关于session - Tomcat 中的 crossContext 属性有什么作用?它是否启用 session 共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661978/

相关文章:

asp.net - 为什么 Asp.Net 中的 Session 对象在超时后没有被删除?

multithreading - UserTransaction 中的 begin() 抛出空指针异常

jakarta-ee - 如何在每次发出 HTTP 请求时获取用户日期

jakarta-ee - 为什么使用 CDI 进行 self 注入(inject)不会导致无限循环?

java - 无法访问tomcat javascript文件夹

maven - Sakai 12.1通过JDBC驱动连接MySQL时部署命令报错

PHP MYSQL 从表中验证用户并设置 SESSION 'username'

java - Dao 层中的 Spring Session 用户信息检索

java - Tomcat 8.0.32 : sometimes it ignores cookies. 的奇怪行为是否可以以某种方式进行调试?

IDE 无法识别 Tomcat 启动