스프링시큐리티에서 forward: 사용시 필터를 타지않는문제
- 작성자 :
- 정*희
- 작성일 :
- 2015-01-28 15:37:36
- 조회수 :
- 920
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
전자정부프레임워크 스프링시큐리티2.0.4 버전을 사용중입니다.
url 로 권한을 체크하도록 설정을 해두고 사용중인데요.
spring mvc에서 return "forward:/aaa/bbb.do"; 이런식으로 뷰를 지정하여 사용할경우
스프링시큐리티 필터를 타지 않는것 같더라구요.
redirect 로 /aaa/bbb.do 를 요청할경우 스프링시큐리티 필터가 정상동작하여 권한체크가 이루어집니다.
포워딩하는 url도 체크하도록 하고 싶은데요..방법이 있을까요?
url 로 권한을 체크하도록 설정을 해두고 사용중인데요.
spring mvc에서 return "forward:/aaa/bbb.do"; 이런식으로 뷰를 지정하여 사용할경우
스프링시큐리티 필터를 타지 않는것 같더라구요.
redirect 로 /aaa/bbb.do 를 요청할경우 스프링시큐리티 필터가 정상동작하여 권한체크가 이루어집니다.
포워딩하는 url도 체크하도록 하고 싶은데요..방법이 있을까요?
A
안녕하세요. 정훈희님.
forward는 서버 내부적으로 처리되는 방식이라 filter를 통한 점검하는 Spring Security 처리는 기본적으로 되지 않습니다.
다만, 해당 filter에 대하여 forward도 처리할 수 있도록 지정 가능한데, 전체적으로 테스트가 필요하실 수 있습니다. (다른 forward 처리에 대하여 security가 호출됨으로서 발생될 수 있는 문제)
처리 방법은 web.xml의 springSecurityFilterChain filter의 filter-mapping을 다음과 같이 수정하시면 됩니다.
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
그럼, 즐거운 하루되십시오.
감사합니다.
forward는 서버 내부적으로 처리되는 방식이라 filter를 통한 점검하는 Spring Security 처리는 기본적으로 되지 않습니다.
다만, 해당 filter에 대하여 forward도 처리할 수 있도록 지정 가능한데, 전체적으로 테스트가 필요하실 수 있습니다. (다른 forward 처리에 대하여 security가 호출됨으로서 발생될 수 있는 문제)
처리 방법은 web.xml의 springSecurityFilterChain filter의 filter-mapping을 다음과 같이 수정하시면 됩니다.
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
그럼, 즐거운 하루되십시오.
감사합니다.