我有以下定义......
<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>
Run Code Online (Sandbox Code Playgroud)
我想拥有这个网址的资源......
"/不安全/**"
打开所有呼叫,即没有安全性.
我试过添加......
<sec:intercept-url pattern="/nonsecure/**" access="permitAll" />
Run Code Online (Sandbox Code Playgroud)
但这会导致Websphere抛出错误
Unsupported configuration attributes: [permitAll]
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何从安全性中排除这个URL?
在这里得到答案后,我试图在我的网站上允许一个公共页面,但它似乎不起作用.当它重定向到登录页面.但是,如果我更改为filters = none它可以工作,并且页面是可见的,没有重定向.
我的appContext.xml看起来像这样(当它不起作用时),/MyPath相关部分:
<security:intercept-url pattern="/**" access="ROLE_USER" />
<security:intercept-url pattern="/Admin/**" access="ROLE_ADMIN" />
<security:intercept-url pattern="/MyPath/**" access="IS_AUTHENTICATED_ANONYMOUSLY, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED" />
Run Code Online (Sandbox Code Playgroud)
这有效,但我需要安全功能,所以不能使用它:
<security:intercept-url pattern="/**" access="ROLE_USER" />
<security:intercept-url pattern="/Admin/**" access="ROLE_ADMIN" />
<security:intercept-url pattern="/MyPath/**" filters="none" />
Run Code Online (Sandbox Code Playgroud)