У меня есть следующее определение...
<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 из безопасности?
Думаю, вам нужно добавить тег use-expressions
в свою конфигурацию http
в XML-файле безопасности, например:
<http auto-config="true" use-expressions="true">
...
...
</http>
Изменить: Я не уверен, какую версию Spring Security вы используете. Я знаю, что это работает на 3.0, но для более старых версий я не уверен.
Попробуйте:
<sec:intercept-url pattern="/nonsecure/**" filters="none" />