Кажется, что пространство имен Spring <http>приводит к тому, что все не связанные с ролями страницы могут быть разрешены - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь настроить Spring MVC так, чтобы он не аутентифицировал никакие страницы, не имеющие аутентификации (включите использование ROLE_ANONYMOUS, как явно требуется для всех страниц).

Но я получаю это сообщение в журналах отладки:

o.s.s.w.a.i.FilterSecurityInterceptor  - Public object - authentication not attempted

FilterSecurityInterceptor добавляется пространством имен. И я думаю Мне нужно setRejectPublicInvocations на фильтре, чтобы отключить это.

Но я не вижу способа сделать это через пространство имен http. Должен ли я полностью отказаться от использования пространства имен http только для этого?

1 Ответ

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

В моем случае я в основном сделал это.

и это работает для всех пользователей.

    <http auto-config="true" use-expressions="true">
    <intercept-url pattern="/css/**" filters="none" />
    <intercept-url pattern="/js/**" filters="none" />
    <intercept-url pattern="/img/**" filters="none" />
    <intercept-url pattern="/loginform.*" filters="none" />
    <intercept-url pattern="/topic/addtopic**"
        access="hasAnyRole('USER_ROLE','ADMIN_ROLE','OPER_ROLE')" />
    <intercept-url pattern="/user/**"
        access="hasAnyRole('USER_ROLE','ADMIN_ROLE','OPER_ROLE')" />
    <intercept-url pattern="/admin/**" access="hasRole('ADMIN_ROLE')" />
    <intercept-url pattern="/cadastro.*" filters="none" />
    <form-login login-page="/loginform.html"
        authentication-failure-url="/loginform.html?error=invalido" />
</http>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...