Spring Security 와 CAS 상호작용 시퀀스
service
하나의 URL 과 같 아야 합 니 다. CasAuthenticationFilter
모니터링 합 니 다. sendRenew
의 기본 값 은 false 이지 만 응용 프로그램 이 특히 민감 하면 true 로 설정 해 야 합 니 다. 이 매개 변 수 는 CAS 로그 인 서 비 스 를 알려 주 는 역할 을 합 니 다. 단일 로그 인 은 받 아들 일 수 없습니다.반면 사용 자 는 서비스 에 접근 하기 위해 사용자 이름과 비밀 번 호 를 다시 입력 해 야 한다.기본 적 인 웹 브 라 우 저 간 의 상호작용, CAS 서버 와 봄 Security - secured 서 비 스 는 다음 과 같 습 니 다.
AccessDeniedException
또는 AuthenticationException
가 검출 됩 니 다. Authentication
대상 (또는 부족) 으로 인해 AuthenticationException
, ExceptionTranslationFilter
설정 AuthenticationEntryPoint
을 호출 합 니 다.CAS 를 사용 하면 CasAuthenticationEntryPoint
클래스CasAuthenticationEntryPoint
사용자 의 브 라 우 저 를 CAS 서버 로 재 설정 합 니 다.그것 도 하나 표 시 됩 니 다 service
인자, 이것 은 봄의 리 셋 URL 보안 서비스 (응용 프로그램) 입 니 다.예 를 들 어 브 라 우 저의 URL 재 설정 은https://my.company.com/cas/login?service=https%3A%2F%2Fserver3.company.com%2Fwebapp%2Flogin/cas。 PasswordHandler
(또는 CAS 3.0 'Authentication Handler') 이상 을 사용 하여 사용자 이름과 비밀번호 가 유효한 지 여 부 를 결정 할 것 이다.ticket
인 자 를 포함 할 것 입 니 다. 이것 은 불투명 한 문자열 로 'service ticket' 을 대표 합 니 다. 앞의 예 에서 브 라 우 저 를 URL 로 다시 설정 합 니 다. https://server3.company.com/webapp/login/cas?ticket=ST-0-ER94xMJmn6pha35CQRoZ。 CasAuthenticationFilter
항상 검색 요청 /login/cas
(설정 가능 하지만 기본 본 소 개 를 사용 합 니 다).필 터 를 처리 하면 서비스 티켓 UsernamePasswordAuthenticationToken
을 구성 합 니 다.교장 은 CasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER
서비스 어음 증빙 서 류 를 불투명 하 게 하 는 것 과 같다.이러한 인증 요청 은 AuthenticationManager
설정 에 전 달 됩 니 다.AuthenticationManager
실현 ProviderManager
순 으로 배치 되 었 습 니 다. CasAuthenticationProvider
. CasAuthenticationProvider
응답 만 포함 UsernamePasswordAuthenticationToken
(예 를 들 어 CasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER
과 CasAuthenticationToken
(잠시 후 토론). CasAuthenticationProvider
서비스 어음 사용 검증 TicketValidator
이 이 뤄 진다.이것 은 보통 하나 Cas20ServiceTicketValidator
입 니 다. 이것 은 CAS 클 라 이언 트 라 이브 러 리 에 포 함 된 클래스 입 니 다.응용 프로그램 이 대리 항공권 을 검증 해 야 한다 면 사용 하 십시오. Cas20ProxyTicketValidator
. TicketValidator
서비스 티켓 을 검증 하기 위해 HTTPS 요청 CAS 서버 를 보 냅 니 다.이 예 를 포함 하여 프 록 시 리 셋 URL 도 포함 할 수 있 습 니 다.https://my.company.com/cas/proxyValidate?service=https%3A%2F%2Fserver3.company.com%2Fwebapp%2Flogin/cas&ticket=ST-0-ER94xMJmn6pha35CQRoZ&pgtUrl=https / /server3.company.com/webapp/login/cas/proxyreceptor。 pgtUrl
매개 변수), 중국 과학원 은 하 나 를 포함 합 니 다. pgtIou
문자열 이 XML 에서 응답 합 니 다.이런 pgtIou
은 proxy - granting 비행기 표를 빌려 주 는 것 을 대표 한다.CAS 서버 는 자신의 HTTPS 연결 pgtUrl
을 만 듭 니 다. 이것 은 서로 CAS 서버 에서 인증 을 하고 서비스 URL 을 주장 합 니 다.HTTPS 연결 은 프 록 시 에서 티켓 을 발급 하 는 최초의 웹 프로그램 을 보 내 는 데 사 용 됩 니 다. 예 를 들 어,https://server3.company.com/webapp/login/cas/proxyreceptor?pgtIou=PGTIOU-0-R0zlgrl4pdAQwBvJWO3vnNpevwqStbSGcq3vKB2SqSFFRnjPHt&pgtId=PGT-1-si9YkkHLrtACBo64rmsi3v2nf7cpCResXg5MpESZFArbaZiOKH。 Cas20TicketValidator
CAS 서버 분석 XML 을 받 습 니 다.사용자 이름 (강제), 프 록 시 목록 (관련 이 있 을 경우), 프 록 시 - granting 표 차용증 (프 록 시 리 셋 요청 시) 을 포함 하여 CasAuthenticationProvider
으로 되 돌아 갑 니 다.TicketResponse
을 CasAuthenticationProvider
설정 이 라 고 합 니 다. CasProxyDecider
프 록 시 목록 표시 CasProxyDecider
서 비 스 를 받 을 지 여부.몇 가지 실현 제공 SpringSecurity: 'Reject ProxyTickets', TicketResponse
과 AcceptAnyCasProxy
。이 이름 들 은 어느 정도 에 스스로 해석 한 것 이다. NamedCasProxyDecider
허용 NamedCasProxyDecider
믿 을 만 한 대 리 를 제공 하 다.List
다음 요청 CasAuthenticationProvider
을 불 러 옵 니 다 AuthenticationUserDetailsService
대상 GrantedAuthority
. Assertion
구조 CasAuthentication Token 은 세부 사항 CasAuthenticationProvider
과 TicketResponse
을 포함한다. GrantedAuthority
로 돌아 가 CasAuthenticationFilter
안전 컨 텍스트 를 만 듭 니 다. CasAuthenticationToken
사용자 의 브 라 우 저 를 원본 페이지 로 재 설정 합 니 다 (or a custom destination 설정 에 따라). 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.