> 답글 감사드립니다.
> 박용권님의 말처럼 url path 단위로도 구성을 하는 방법도 있는데요.
> board의 경우 list나 view와 write에 대한 권한을 따로 주어 특정 method단위로 권한을 부여하고 싶었습니다.
> 박성철 님이 알려주신 것처럼
> Controller에 대한 mvc설정을 한 하위 Context에서
> </sec:global-method-security> 설정을 해보니
> 아쉽게도 security aop는 정상 적용되지만 mvc annotation은 적용되지 않는 문제가 있었습니다.
> JDK proxy의 문제인 듯하여 CGLIB proxy에 대한 설정 옵션을 활성화하니 제대로 동작하였습니다.
> <sec:http auto-config="true" use-expressions="true">
> 많은 도움 주셔서 감사합니다. (__)
> On 12월7일, 오전11시18분, Sungchul Park <gyu...@gmail.com> wrote:
> > > 이렇게 하는 경우 *Service 에서는 security annotation이 잘 동작하지만
> > > Controller에서는 인식을 하지 않습니다.
> > > proxy 적용시점이 각 Context마다 개별로 동작하게 되는 듯한데요.
> > > 이런 경우 올바른 설정은 어떻게 해야하는지요?
> > 예 맞습니다. 스프링 시큐리티의 메서드 보안 기능은 AOP를 사용하기 때문에
> > AOP의 특성이 그대로 따라옵니다. 즉, AOP 처리 범위가 해당 application
> > context로 제한됩니다.
> > > security관련 설정을 servlet쪽으로 내리면 filter생성시 빈객체를 찾지 못하게됩니다.
> > > 결국 security는 rootContext에 붙여야 할 것 같은데 사용은 하위 Controller에서 할 수 있는 방법이 궁금 합니다.
> > 필터에서 찾는 Web Application Context는 Root application context인데 스
> > 프링 보안이 설정된 application context는 Dispatcher Servlet에서 설정한
> > 하부 application context이기 때문에 빈을 못 찾고 있습니다.
> > 기존 처럼 root application context에 스프링 보안을 설정하시고 메서드 보
> > 안을 적용하고 싶은 하부 application context에서 <global-method-security>
> > 네임스페이스만 추가로 사용해보십시오. 잘 작동할 겁니다.- 원본 텍스트 숨기기 -
> - 원본 텍스트 보기 -