Скрыть источник .xhtml - facelets / icefaces? - PullRequest
4 голосов
/ 19 марта 2009

Я новичок в Icefaces и Facelets, но я использую их в новом проекте. У меня все работает настроено и работает нормально. Тем не менее, когда я захожу на сайт mywebapp / file.xhtml, в моем браузере появляется весь исходный код шаблона Facelets. Как я могу скрыть это, чтобы пользователи не могли просматривать мои серверные шаблоны?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2009

Поместите все шаблоны в WEB-INF / someDirectory / templates.

Затем, согласно документации Facelets, поместите это в ваш web.xml для всех остальных файлов xhtml:

<security-constraint>
    <display-name>Restrict XHTML Documents</display-name>
    <web-resource-collection>
        <web-resource-name>XHTML</web-resource-name>
        <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description>Only Let 'developer's access XHTML pages</description>
        <role-name>someone</role-name>
    </auth-constraint>
</security-constraint>
1 голос
/ 19 марта 2009

В файле web.xml должна быть запись, позволяющая настроить поведение шаблонов xhtml (показать / скрыть ..)

Если вы переместите файлы .jsp в папку WEB-INF (вам нужно перенастроить путь jsp для JSF), вы не сможете получить к ним доступ по URL. Каждый J2EE-сервер / Web-контейнер, который я знаю, действует таким образом.

Другим способом является самописный фильтр сервлетов и т. Д.

Но почему вы хотите скрыть свои шаблоны?

...