2012-09-13 5 views
0

내 프로젝트에 대한 ESAPI를 사용하고 내 WAR 파일에 복사됩니다 그래서 src/main/resources에 ESAPI 구성 디렉토리를 추가하고있어 로컬cloudbees & ESAPI - 어떻게 ESAPI 디렉토리를 가리 킵니까?

(내가 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/" /> 

나는 것을 볼 수 시스템 프로퍼티 때문에 로그에 다음 오류 발견된다 : (I 지정한 것 같은 경로이기 때문에)

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을 빌드함으로써 유사한 문제를 해결했다고 읽었지만 이것은 좋은 해결책처럼 보이지 않는다. 클라우드를 위해 작동 할 간단한 설정이 있어야한다.

+0

조직 '에서 찾을 수 없습니다 .owasp.esapi.resources '디렉토리 또는 파일을 읽을 수 없음 : /var/genapp/apps/1xxx7/tip-about/WEB-INF/esapi/ESAPI.properties – TheZuck

답변

1

좋아, 그래서 검색 및 테스트 후, 나는 그것을 결국 알아 냈다. 하기 위해,

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

너무 :

이 상대 경로가이 경로의 접두사이라고
staxcat/install/webapp.war/ 

통지는 다음과 같이 보입니다 첨부 : Cloudbees는 다음 디렉토리에 웹 응용 프로그램을 배포 이 프로젝트에서이 아래에있는 경우 디렉터리를 찾을 ESAPI있게

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

: 작업에 ESAPI를 얻을, 나는에 다음 cloudbees-web.xml을 설정했다 :

src/main/webapp/WEB-INF/esapi 

다음과 같은 로그 행 얻어야한다 : /tip-about/WEB-INF/esapi/ESAPI.properties을하지만 다시있어 : 나는 또한 시도

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

ESAPI lib에서 구성에 대한 디렉토리 액세스를 요구하는 디자인은 매우 유연하지 않습니다. 범용 옵션은 ServletContext.getRealPath을 사용하여이 디렉토리에 대한 절대 파일 시스템 경로를 확인하고이를 ESAPI로 전달하는 것입니다.

또 다른 옵션은 임시 디렉토리에 WEB-INF/classes/esapi 콘텐츠를 복사하는 데 필요한 일부 초기화 코드입니다 (java.io.temp 시스템 속성을 사용하여 현재 구성된 app 디렉토리의 임시 디렉토리를 가리 킵니다). point ESAPI lib를이 경로에 추가합니다.

+0

이 요구 사항은 유연하지 않지만, 지금은 그걸로 산다. 제안 해 주셔서 감사 드리며 한 번 살펴보고 구현하겠습니다. – TheZuck

+0

이 문제를 해결하지 못했기 때문에이 대답의 선택을 취소하십시오. – TheZuck

+0

ESAPI에는 @nicolas de loof ESAPI가 필요하지 않습니다. 라이브러리를 사용하려는 실제 목적은 소스 repo를 복사하여 직접 빌드하고 속성 파일을 고유하게 만드는 것입니다 Maven이 기대하는 라이브러리. ESAPI jarFile의 클래스 경로에 포함되면 디렉토리 액세스가 필요하지 않습니다. – avgvstvs

관련 문제