Безопасность Spring: как исключить определенные ресурсы?

У меня есть следующее определение...

    <bean id="fsi" class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
    <property name="authenticationManager" ref="authenticationManager"/>
    <property name="accessDecisionManager" ref="httpRequestAccessDecisionManager"/>
    <property name="objectDefinitionSource">
      <sec:filter-invocation-definition-source >
            <sec:intercept-url pattern="/secure/css/**"        access="ROLE_TIER0"/>
            <sec:intercept-url pattern="/secure/images/**"     access="ROLE_TIER0"/>
            <sec:intercept-url pattern="/**"                   access="ROLE_TIER0"/>
      </sec:filter-invocation-definition-source>
    </property>
    </bean>

Я хотел бы иметь ресурсы на этом URL...

"/незащищенный / **"

Открытый для всех вызовов, т.е. никакой безопасности вокруг этого.

Я попытался добавить...

<sec:intercept-url pattern="/nonsecure/**" access="permitAll" />

Но это заставляет Websphere разбрасывать ошибку

Unsupported configuration attributes: [permitAll] 

Кто-либо может сказать мне, как исключить этот URL из безопасности?

39
задан Jonik 23 September 2015 в 10:42
поделиться

2 ответа

Думаю, вам нужно добавить тег use-expressions в свою конфигурацию http в XML-файле безопасности, например:

<http auto-config="true" use-expressions="true">
...
...
</http>

Изменить: Я не уверен, какую версию Spring Security вы используете. Я знаю, что это работает на 3.0, но для более старых версий я не уверен.

24
ответ дан 27 November 2019 в 02:02
поделиться

Попробуйте:

<sec:intercept-url pattern="/nonsecure/**" filters="none" />
17
ответ дан 27 November 2019 в 02:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: