стили CSS безопасности весной не работают - PullRequest
4 голосов
/ 22 декабря 2011

У меня проблема с применением CSS на веб-страницах с использованием Spring Security (версия 3.0.7). У меня есть следующий конфиг:

<http auto-config="true" use-expressions="true">
<intercept-url pattern="/faces/resources/**" filters="none"/>
<intercept-url pattern="/faces/inicio.xhtml" access="permitAll"/>
<intercept-url pattern="/faces/paginas/autenticacion/login.xhtml*" access="permitAll"/>
<intercept-url pattern="/faces/paginas/administracion/**" access="isAuthenticated()"/>
<intercept-url pattern="/faces/paginas/barco/**" access="isAuthenticated()"/>
<intercept-url pattern="/faces/paginas/catalogo/**" access="permitAll"/>
<intercept-url pattern="/faces/paginas/error/**" access="permitAll"/>
<intercept-url pattern="/faces/paginas/plantillas/**" access="permitAll"/>
<intercept-url pattern="/**" access="denyAll" />

По умолчанию я запрещаю доступ ко всем страницам. Затем я применяю авторизацию к конкретным страницам, указав их шаблоны URL, и они применяются сначала в указанном порядке, а правило denyAll - последним.

  • "inicio.xhtml" - домашняя страница.
  • "login.xhtml" - это форма для входа.
  • Каталоги "administrator и барко" содержат страницы, к которым должны обращаться только аутентифицированные пользователи.
  • Каталог "catalogo" содержит страницы, которые должны быть доступны всем.
  • Каталог «error» содержит страницы ошибок приложения.
  • Каталог "plantillas" содержит страницы шаблонов приложение (я использую JSF2).

Каталог «resources» содержит изображения, файлы css и javascript. Поэтому в первой строке я говорю Spring Security не использовать для этого фильтр безопасности.

Однако в этой конфигурации при запуске приложения стили css не применяются к страницам !!

Я проверил, что если я переключаю авторизацию по умолчанию на "allowAll", это работает. Но я не хочу этого делать, потому что это не очень хорошая практика.

Есть идеи, почему не работает? Я думаю, что это должно работать.

1 Ответ

4 голосов
/ 24 января 2012

Это работает, если вы добавляете встроенные таблицы стилей. Например:

<link type="text/css" rel="stylesheet" href="/resources/style.css" />

Если вы используете

<h:outputStylesheet> 

тег, шаблон URL должен быть таким

<intercept-url pattern="/faces/javax.faces.resource/**" filters="none"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...