Какая польза от exposeWebInfOnDispatch = false в WebSphere Application Server? - PullRequest
0 голосов
/ 07 сентября 2018

Как указывает вопрос 20378230 , IBM WebSphere Application Server (WAS) больше не позволяет сервлетам получать доступ к файлам в WEB-INF, кроме случаев, когда вы установили exposeWebInfOnDispatch=true в server.xml (false - этопо умолчанию, как описано здесь ).

WEB-INF использовалось в качестве моего местоположения выбора для данных конфигурации сервлета и для JSP , TLD , JSF и т. Д., Чтобы защитить их от прямого доступа клиента.Означает ли это, что все JSF, Struts и подобные проекты должны использовать этот параметр?Или существует альтернативная стратегия защиты таких ресурсов в WAS, если они размещены за пределами WEB-INF?

AFAIK, при этом по умолчанию WEB-INF может содержать только ресурсы, к которым сервер приложений имеет прямой доступ, например библиотеки, файлы классов и web.xml.Это верно?Любые советы приветствуются.

1 Ответ

0 голосов
/ 07 сентября 2018

Если вы прочитали соответствующий пост в вопросе, который вы цитируете, то вы должны знать, что он не относится к файлам JSP, JSF, tld. Это относится только к статическим файлам (изображения, JS и т. Д.). Кроме того, статические файлы обычно не должны отправляться через WEB-INF, так как они являются статическими и могут обслуживаться напрямую, что также позволяет кэшировать браузеры (для таких ресурсов, как css, images, js).

Альтернативная стратегия защиты статических файлов заключается в использовании стандартной Java EE <security-constraint> в web.xml и определении ролей безопасности, которые могут получить доступ к этим ресурсам, если они не должны быть доступны кому-либо.

...