Local correto para ESAPI.properties no projeto da web

Eu adicionei uma biblioteca OWASP ESAPI ao meu projeto. E atualmente estou preso com um problema onde localizar o arquivo ESAPI.properties . Este projeto mais tarde deve ser implantado em poucos servidores para os quais eu não tenho access. Então, na minha opinião, não há como personalizar a variável org.owasp.esapi.resources e não posso colocá-la no diretório inicial do usuário. Então, o único lugar onde eu posso colocar esse arquivo é SystemResource Directory/resourceDirectory mas onde está? Eu já tentei colocar esses arquivos:

 .esapi/ESAPI.properties esapi/ESAPI.properties ESAPI.properties 

Nesses locais:

 $CATALINA_HOME/webapps// $CATALINA_HOME/webapps//WEB-INF $CATALINA_HOME/webapps//WEB-INF/classs $CATALINA_HOME/webapps//META-INF 

Mas em todos esses lugares eu recebo um erro: Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties

Então, onde eu deveria localizar esse arquivo? É um projeto legado (apenas o Eclipse Project sem Maven) e sua estrutura é bem feia. Não existe tal diretório como /src/main/resources onde, na minha opinião, este arquivo ESAPI.properties deve estar localizado. Eu criei este diretório, mas onde, finalmente, este arquivo deve ser após a implantação de um arquivo WAR para o Tomcat?

ESAPI.properties arquivo ESAPI.properties deve residir em um CLASSPATH no diretório esapi .

Então, digamos que você tenha um módulo implantado em war em qualquer uma das duas formas: como um jar, ou explodido como classs. Basta criar um diretório dentro da fonte de um módulo onde você usa o terceiro partido OWASP ESAPI.

Da perspectiva do eclipse, o arquivo só precisa estar no CLASSPATH independentemente de você usar o maven ou não. Ao usar o maven, o diretório de resources maven é convertido como diretório de sources eclipse pelo plugin m2eclipse .

Exemplo (usando a estrutura de origem padrão do eclipse):

 src |---com | |---module | | |---SomeClass.java |---esapi | |---ESAPI.properties 

Talvez isso ajude. Ele descreve a ordem de pesquisa implementada no ESAPI 2.x para localizar o arquivo ESAPI.properties: http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/org/owasp/esapi/reference/DefaultSecurityConfiguration.html

Eu acho que a documentação está bastante atualizada, mas você pode encontrar detalhes de como ela é implementada no método loadConfiguration () do DefaultSecurityConfiguration.java que você pode encontrar aqui:

https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/DefaultSecurityConfiguration.html

Espero que ajude. -kevin

Apenas uma pequena atualização que pode ser relevante. Parece que a versão 2.1.0.1 quebrou acidentalmente a ordem de pesquisa 2.x anterior (para suportar propriedades de configuração XML para ESAPI). Isso será corrigido no lançamento do ponto ESAPI (ainda a ser determinado). Veja a questão 397 do ESAPI GitHub para detalhes.