10장. Run-As 인증 대체

10.1. 개요

AbstractSecurityInterceptor는 안전 객체의 콜백 단계 동안 SecurityContextSecurityContextHolder내의 Authentication 객체를 임시로 대체할 수 있다. 이는 오직 원래의 Authentication 객체가 AuthenticationManagerAccessDecisionManager에 의해 성공적으로 처리될 경우에만 일어난다. RunAsManager는 대체할 Authentication 객체를 가리킬 것이며, 만약 Authentication 객체가 존재한다면, 그 객체는 SecurityInterceptorCallback상에서 사용되어야 한다.

안전 객체의 콜백 단계 동안 일시적으로 Authentication 객체를 대체함으로써 안전한 호출을 수행할 때 다른 인증 및 권한부여 신원정보를 필요로 하는 다른 객체를 요청하는 것이 가능해질 것이다. 뿐만 아니라 특정 GrantedAuthority 객체에 대한 내부 보안 검사를 수행하는 것도 가능해질 것이다. Acegi Security에는 SecurityContextHolder의 내용에 근거하여 원격 프로토콜을 자동적으로 설정하는 수 많은 헬퍼 클래스들이 제공되므로 이러한 run-as 대체는 원격 웹 서비스를 호출할 경우에 특히 유용하다.