【发布时间】:2012-05-04 00:48:13
【问题描述】:
我目前在 RHEL 4 Update 9 上运行 WebSphere Application Server Community Edition v3.0.0.1。
我有一个 Web 应用程序以前在 WAS 6.1 上运行,但我们想迁移到 WASCE。实现是这样的,我们在 Web Content 文件夹内有一个符号链接目录“symdir”,它指向同一文件系统上但在 Web 应用程序和 WASCE 之外的另一个文件夹。在幕后,我们将在符号链接目录中动态构建内容,然后创建指向它的链接。例如,在 symdir -> /tagHome 中,我们将创建 /tagFile/some.tag,这样 Web 应用程序就会知道它是 symdir/tagFile/some.tag,而 f/s 会知道它是 /tagHome/tagFile/some.tag。然后我们将在http://hostname:port/context/symdir/tagFile/some.tag 创建一个指向它的链接并渲染文件——它是简单的 xml。这一切都曾在 WAS 6.1 上运行过。
但是,现在当我将应用程序移至 WASCE 时,这种类型的配置不再起作用。具体来说,我无法遍历任何符号链接目录并取回任何内容。为此,我什至尝试在 Web 应用程序包中添加目录并使用它们进行部署,然后尝试点击它们。就像 /context/* 被阻止一样!
我在网上挖掘的最后一件事是 org.apache.geronimo.tomcat.GeronimoStandardContext.allowLinking=true。似乎没有改变行为。
在这里JSP files in external directory也发现了类似的东西,但是在web.xml中添加上下文模块会导致编译器错误。
除了编写一个 servlet 之外,还有什么想法吗?谢谢你的帮助!
【问题讨论】:
标签: geronimo symlink-traversal