2012-09-11 2 views
0

나는 CAS와 스프링 시큐리티 사이의 질문을보고 있었지만 정확한 상황을 발견하지 못했습니다. 제 질문은 스프링 보안을 설정하여 사용자가 CAS를 기반으로하는 것입니다.봄 보안 인증을 CAS에 위임

현재 사용자에게 액세스하기 위해 CAS를 수정하고 있지만 Spring Security는 응용 프로그램을 보호합니다. 현재, CAS - Spring Security는 사용자를 확보하기 위해 자체 사용자 정의 UserService를 만드는 것을 위임하는 것으로 보이지만, 사용자가 CAS 자체의 사용자 인 경우 어떻게해야합니까?

CAS가 자격 증명을 유효하게 찾으면 스프링 보안도 이에 동의하고 아무 것도하지 않는다는 것을 인식하는 방법이 있습니까? 아니면 그것이 어떻게 작동해야 하는가?

이 문제를 해결하기위한 제안 사항은 무엇입니까?

+1

cas 클라이언트를 사용하고 있습니까? CasAuthenticationEntryPoint? 스프링 보안이 캐스에 대해 인증을 받기를 원합니까? CasAuthenticationProvider에는 authenticationUserDetailsService 구현을 사용하여 cas 사용자 이름 및 속성 –

+0

예를 기반으로 사용자를 만들 수있는 authenticationUserDetailsService 속성이 있습니다. 스프링 보안이 CAS에 대해 인증하는 것이 목표입니다. 내가 본 것에서 볼 때, 스프링 시큐리티는 자신의 사용자 저장소를 원하고 CAS가 이미 사용자를 들여 보내고 있다는 것을 인정하지 않으려 고합니다. – KSGB

답변

0

사용중인 스프링 보안 버전에 대해서는 언급하지 않으므로 3.1 체인의 최신 링크로 연결됩니다. Spring Security CAS Authentication

CAS 사양에는 토큰 교환 만 필요합니다. 인증 된 사용자를 추적하는 것은 Spring Security의 일부입니다. 참조 된 문서의 관련 단계는 14와 15입니다. Spring Security는 AuthenticationProvider가 UserDetailsService에 위임하여 애플리케이션 전체에서 참조 할 수있는 객체를 생성하는 흐름을 정의합니다. UserDetailsService를 정의하고 기본 UserDetails 개체를 구성해야합니다. 해당 개체가 CAS 인증 주체에서 사용자 이름 만 가져 오는 경우에도 마찬가지입니다.