스프링 보안 네임 스페이스 FilterChainProxy에 표준 Http 필터의 여러 커스텀 구현을 어떻게 추가 할 수 있습니까? 나는 after, before 또는 position 속성을 사용하여 체인에 하나의 필터를 추가 할 수 있다는 것을 알고 있습니다. 그러나 어떻게 하나 이상의 필터를 추가 할 수 있습니까?. 여기 내 보안 설정 파일여러 개의 필터를 SpringSecurity 네임 스페이스에 추가하기 FilterChain
I 위의 필터 체인에 portalSessionFilter 및 requestUrlStackFilter을 추가 할<http pattern="/javax.faces.resource/**" security="none"/>
<http pattern="/resources/**" security="none"/>
<http pattern="/session_list.jsp" security="none"/>
<http pattern="/security/cas_logout.jsf" security="none"/>
<http pattern="/user/account_signup.jsf" security="none"/>
<http pattern="/user/company_user_association.jsf" security="none"/>
<http pattern="/user/account_signup_review.jsf" security="none"/>
<http auto-config="true" use-expressions="true" entry-point-ref="casEntryPoint" access-decision-manager-ref="accessDecisionManager">
<intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>
<logout logout-success-url="/security/cas_logout.jsf" invalidate-session="true"/>
<custom-filter position="CAS_FILTER" ref="casFilter"/>
<custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER"/>
<custom-filter ref="singleLogoutFilter" before="CAS_FILTER"/>
</http>
<beans:bean id="portalSessionFilter" class="org.x.web.security.PortalSessionInterceptor"/>
<beans:bean id="requestUrlStackFilter" class="org.x.web.security.RequestUrlStackFilter"/>
입니다. 나는 가능성이
<custom-filter ref="portalSessionFilter" before="LAST"/>
할 수 그러나 어떻게 LAST 전에 오른쪽 BTW portalSessionFilter 둘 다 간단한 GenericFilterBean 구현 후 requestUrlStackFilter를 추가 않습니다.
위의 두 필터가 체인 목록에있는 FilterChainProxy 빈을 작성하고 해당 bean을 마지막 네임 스페이스 구성에 대한 사용자 정의 필터로 추가하여 필터가 작동하지만 내 JSF 탐색이 손상된 경우 commandLink를 사용하면 (이 FilterChainProxy를 사용할 때 AJAX 호출이 실패한 것 같습니다)
누구나이 두 필터와 가능한 다른 필터를 스프링 보안 필터 체인에 추가하는 방법에 대해 아이디어를 제안 할 수 있습니까?
이 [post] (http://stackoverflow.com/questions/3931812/how-to-use-more-than-one-custom-filter-invoked-after-each-other)에서 언급했듯이, SwitchUserFilter가 표준 순서의 마지막 항목이기 때문입니다. –
Ravi