321장. Spring Security

Camel 2.3 사용

camel-spring-security 구성 요소는 Camel 경로에 대한 역할 기반 승인을 제공합니다. Spring Security (이전의 Acegi Security)에서 제공하는 인증 및 사용자 서비스를 활용하고 선언적 역할 기반 정책 시스템을 추가하여 지정된 보안 주체에서 경로를 실행할 수 있는지 여부를 제어합니다.

Spring Security 인증 및 권한 부여 시스템에 익숙하지 않은 경우 위에 연결된 SpringSource 웹 사이트의 현재 참조 설명서를 검토하십시오.

321.1. 권한 부여 정책 생성

경로에 대한 액세스는 SpringSecurityAuthorizationPolicy 오브젝트의 인스턴스에 의해 제어됩니다. 정책 오브젝트에는 일련의 엔드포인트를 실행하는 데 필요한 Spring Security authority(role)의 이름이 포함되어 있으며 현재 보안 주체가 해당 역할이 할당되었는지 여부를 결정하는 데 사용되는 Spring Security AuthenticationManagerAccessDecisionManager 개체에 대한 참조입니다. 정책 오브젝트는 Spring 빈으로 구성되거나 Spring XML에서 < authorizationPolicy > 요소를 사용하여 구성할 수 있습니다.

&lt ;authorizationPolicy&gt; 요소에는 다음 속성이 포함될 수 있습니다.

이름기본값설명

id

null

경로의 정책을 참조하는 데 사용되는 고유한 Spring 빈 식별자(필수)

액세스

null

액세스 결정 관리자에게 전달되는 Spring Security authority 이름(필수)

authenticationManager

authenticationManager

컨텍스트에서 Spring Security AuthenticationManager 오브젝트의 이름

accessDecisionManager

accessDecisionManager

컨텍스트에서 Spring Security AccessDecisionManager 오브젝트의 이름입니다.

authenticationAdapter

DefaultAuthenticationAdapter

Camel 2.4 javax.security.auth.Subject 를 Spring Security Authentication 인스턴스로 변환하는 데 사용되는 컨텍스트에서 camel-spring-security AuthenticationAdapter 오브젝트의 이름입니다.

useThreadSecurityContext

true

javax.security.auth.Subject 가 Exchange.AUTHENTICATION의 In 메시지 헤더에서 javax.security.auth.Subject를 찾을 수 없는 경우 인증 오브젝트의 Spring SecurityContextHolder 를 확인합니다.

alwaysReauthenticate

false

true로 설정하면 정책이 액세스할 때마다 SpringSecurityAuthorizationPolicy 가 항상 AuthenticationManager.authenticate() 를 호출합니다.