所有我能在 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/