Я использую этот URL -адрес для помощи: https: / / /web.archive.org/web/20161005210258/http://code.google.com/p/owasp-esapi-ja ... ltsecurity .java < /p>
И из этого URL я выбрал эту часть для размещения eSapi.properties в определенное каталог: < /p>
Ссылка {@code SecurityConfiguration} управляет всеми настройками, используемыми ESAPI в одном месте. В этой справочнике
* ресурсы могут быть размещены в нескольких местах, которые выполняются в следующем порядке:
*
* 1) Внутри каталога с вызовом в SecurityConfiguration .SetResourceDirectory ("c: \ temp \ resources").
* < /p>
< /blockquote>
Так что для этого здесь есть мой Код: < /p>
1 - in application.properties < /strong>: < /p>
esapi.path= /data/folder/testapp/apps/myapp/esapiconf
2 - в startupApplication.java (класс, который будет выполнен только один раз в запуск моего приложения): < /p>
Код: Выделить всё
@Component
public class StartupApplication implements InitializingBean {
@Autowired
private Environment env;
@Override
@Transactional
public void afterPropertiesSet() throws Exception {
new GlobalVars();
GlobalVars.esapiPropertyFilePath = env.getProperty("esapi.path");
// this setResourceDirectory to be executed once
ESAPI.securityConfiguration().setResourceDirectory(GlobalVars.esapiPropertyFilePath);
...etc
}
< /code>
3 - в моей странице [b] jsp < /strong>: < /p>
< /code>
Проблема: < /strong> < /p>
Когда сервер приложений (Jboss EAP 7.2) Запуск и более конкретно, когда класс StartupApplication выполняется, возвращается setresourcedirectory < /strong>: < /p>
ESAPI: Reset resource directory to: /data/folder/testApp/Apps/MyApp/ESAPIConf
ESAPI: Attempting to load ESAPI.properties via file I/O.
ESAPI: Attempting to load ESAPI.properties as resource file via file I/O.
ESAPI: Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/linuxuser/ESAPI.properties
ESAPI: Not found in SystemResource Directory/resourceDirectory: /data/folder/testApp/Apps/MyApp/ESAPIConf/ESAPI.properties
ESAPI: Not found in 'user.home' (/home/linuxuser) directory: /home/linuxuser/esapi/ESAPI.properties
ESAPI: Loading ESAPI.properties via file I/O failed. Exception was: java.io.FileNotFoundException
ESAPI: Attempting to load ESAPI.properties via the classpath.
ESAPI: SUCCESSFULLY LOADED ESAPI.properties via the CLASSPATH from '/ (root)' using current thread context class loader!
ESAPI: SecurityConfiguration for Validator.ConfigurationFile.MultiValued not found in ESAPI.properties. Using default: false
ESAPI: Attempting to load validation.properties via file I/O.
ESAPI: Attempting to load validation.properties as resource file via file I/O.
ESAPI: Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/linuxuser/validation.properties
ESAPI: Not found in SystemResource Directory/resourceDirectory: /data/folder/testApp/Apps/MyApp/ESAPIConf/validation.properties
ESAPI: Not found in 'user.home' (/home/linuxuser) directory: /home/linuxuser/esapi/validation.properties
ESAPI: Loading validation.properties via file I/O failed.
ESAPI: Attempting to load validation.properties via the classpath.
ESAPI: SUCCESSFULLY LOADED validation.properties via the CLASSPATH from 'esapi/' using current thread context class loader!
И когда я получаю доступ к моей странице JSP, я получаю: < /p>
Error : org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception.
< /code>
Я думаю, потому что eSapi.properties не были найдены.>
Подробнее здесь: https://stackoverflow.com/questions/611 ... -directory