gpt4 book ai didi

java - cloudbees 和 ESAPI - 如何指向 ESAPI 目录?

转载 作者:行者123 更新时间:2023-12-02 07:34:50 25 4
gpt4 key购买 nike

我在我的项目中使用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/" />

我可以看到系统属性被发现,因为日志中出现以下错误:

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 的简单设置。

最佳答案

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

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

关于java - cloudbees 和 ESAPI - 如何指向 ESAPI 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12400162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com