303장. Shiro 보안 구성 요소
Camel 2.5부터 사용 가능
Camel의 shiro-security 구성 요소는 Apache Shiro 보안 프로젝트를 기반으로 하는 보안 중심 구성 요소입니다.
Apache Shiro는 인증, 권한 부여, 엔터프라이즈 세션 관리 및 암호화를 깔끔하게 처리하는 강력하고 유연한 오픈 소스 보안 프레임워크입니다. Apache Shiro 프로젝트의 목적은 사용 가능한 가장 강력하고 포괄적인 애플리케이션 보안 프레임워크를 제공하는 동시에 매우 쉽고 사용하기 쉽습니다.
이 camel shiro-security 구성 요소를 사용하면 카멜 경로의 다양한 세그먼트에 인증 및 권한 부여 지원을 적용할 수 있습니다.
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>
303.1. Shiro Security Basics
camel 경로에 Shiro 보안을 사용하려면 사용자, 암호, 역할 등 보안 구성 세부 정보(사용자, 암호, 역할 등)를 사용하여 ShiroSecurityPolicy 오브젝트를 인스턴스화해야 합니다. 그런 다음 이 오브젝트를 camel 경로에 적용해야 합니다. 이 ShiroSecurityPolicy Object는 Camel 레지스트리(JNDI 또는 ApplicationContextRegistry)에 등록한 다음 Camel 컨텍스트의 다른 경로에 사용할 수도 있습니다.
구성 세부 정보는 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:*