302장. Shiro 보안 구성 요소
Camel 2.5에서 사용 가능
Camel의 Sh iro-security 구성 요소는 Apache Shiro 보안 프로젝트를 기반으로 하는 보안 중심 구성 요소입니다.
Apache Shiro는 강력하고 유연한 오픈 소스 보안 프레임워크로 인증, 권한 부여, 엔터프라이즈 세션 관리 및 암호화를 명확하게 처리합니다. Apache Shiro 프로젝트의 목표는 사용 가능한 가장 강력하고 포괄적인 애플리케이션 보안 프레임워크를 제공하는 것이며, 이해하기 쉽고 사용하기 쉽습니다.
이렇게 camel shiro-security 구성 요소를 사용하면 인증 및 권한 부여 지원을 camel 경로의 여러 세그먼트에 적용할 수 있습니다.
Shiro 보안은 Camel 정책을 사용하는 경로에 적용됩니다. Camel의 정책은 Camel 프로세서에 인터셉터를 적용하는 데 전략 패턴을 활용합니다. 인수 경로의 섹션/세그먼트에 대한 교차 보안 문제(예: 보안, 거래 등)를 적용할 수 있는 기능을 제공합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml
에 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-shiro</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
302.1. Shiro Security Basics
카르셀 경로에 Shiro 보안을 사용하려면 보안 구성 세부 정보(사용자, 암호, 역할 등)를 사용하여 ShiroSecurityPolicy 오브젝트를 인스턴스화해야 합니다. 그런 다음 이 오브젝트를 camel 경로에 적용해야 합니다. 이 ShiroSecurityPolicy 오브젝트는 Camel 레지스트리(JNDI 또는 ApplicationContextRegistry)에 등록된 다음 Camel Context의 다른 경로에도 사용할 수 있습니다.
Ini 파일(properties 파일) 또는 Ini 오브젝트를 사용하여 ShiroSecurityPolicy에 구성 세부 정보가 제공됩니다. Ini 파일은 다음과 같이 사용자/역할 세부 정보를 포함하는 표준 Shiro 구성 파일입니다.
[users] # user 'ringo' with password 'starr' and the 'sec-level1' role ringo = starr, sec-level1 george = harrison, sec-level2 john = lennon, sec-level3 paul = mccartney, sec-level3 [roles] # 'sec-level3' role has all permissions, indicated by the # wildcard '*' sec-level3 = * # The 'sec-level2' role can do anything with access of permission # readonly (*) to help sec-level2 = zone1:* # The 'sec-level1' role can do anything with access of permission # readonly sec-level1 = zone1:readonly:*