【问题标题】:cloudbees & ESAPI - how do I point to the ESAPI directory?cloudbees & ESAPI - 我如何指向 ESAPI 目录?
【发布时间】:2012-09-06 04:20:34
【问题描述】:

我在我的项目中使用 ESAPI,并将 ESAPI 配置目录添加到 src/main/resources,因此它被复制到我的 WAR 文件中(我从 cloudbees 下载了 WAR,我可以看到它放在 WEB-INF/classes/esapi/ 目录中)

在本地,我只是指向目录所在的位置,一切正常,但在 cloudbees 上它对我不起作用。

为了访问它的属性,ESAPI 项目尝试了各种各样的东西,包括检查org.owasp.esapi.resources 系统属性,所以我在cloudbees-web.xml 中添加了以下代码:

<sysprop name="org.owasp.esapi.resources" value="WEB-INF/classes/esapi/" />

我可以看到系统属性value是因为日志中的以下错误找到的:

Not found in 'org.owasp.esapi.resources' directory or file not readable: /var/genapp/apps/akld3873/WEB-INF/classes/esapi/ESAPI.properties

所以它找到了系统属性(因为路径就像我指定的那样),但是当它查找实际目录和其中的文件时,我猜该目录不存在或不可读。

我需要把它移到别的地方吗?也许在 WEB-INF 目录里面?设置不对吗?我读到其他人通过为这个目录构建一个 JAR 解决了类似的问题,但这似乎不是一个好的解决方案,必须有一个简单的设置适用于 cloudbees。

【问题讨论】:

  • 我也试过了:/tip-about/WEB-INF/esapi/ESAPI.properties 但又得到了:在“org.owasp.esapi.resources”目录中找不到或文件不可读:/var /genapp/apps/1xxx7/tip-about/WEB-INF/esapi/ESAPI.properties

标签: java resources directory cloudbees esapi


【解决方案1】:

为 ESAPI lib 设计需要目录访问配置不是很灵活。 一个通用选项是使用ServletContext.getRealPath 来解析该目录的绝对文件系统路径并将其传递给 ESAPI。

另一个选项是让您有一些初始化代码来复制临时目录中的 WEB-INF/classes/esapi 内容(使用 java.io.temp 系统属性指向您的应用程序当前配置的临时目录)并指向ESAPI 库到此路径。

【讨论】:

  • 我同意这个要求不灵活,但我现在必须接受它。感谢您的建议,我会看看并尝试实施。
  • @nicolas de loof ESAPI 不需要它,使用该库的实际意图是您将复制源代码库并自己构建它,将您的库独有的属性文件放在 Maven 中期待它。当它们包含在 ESAPI jarFile 的类路径中时,不需要目录访问。
【解决方案2】:

好的,经过搜索和测试,我终于弄明白了。 Cloudbees 将您的 Web 应用部署到以下目录:

staxcat/install/webapp.war/

注意这是一个相对路径,加上这个路径的前缀,它看起来像这样:

/var/genapp/apps/xxxxxxxx/staxcat/install/webapp.war/WEB-INF/esapi/ESAPI.properties

所以,为了让 ESAPI 工作,我必须在 cloudbees-web.xml 中设置以下内容:

<sysprop name="org.owasp.esapi.resources" value="staxcat/install/webapp.war/WEB-INF/esapi" />

这将使 ESAPI 能够在您的项目中找到该目录:

src/main/webapp/WEB-INF/esapi

你应该得到以下日志行:

Found in 'org.owasp.esapi.resources' directory: /var/genapp/apps/xxxxxxxxx/staxcat/install/webapp.war/WEB-INF/esapi/ESAPI.properties

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多