第302章 Shiro Security コンポーネント
Camel 2.5 で利用可能
Camel の shiro-security コンポーネントは、Apache Shiro セキュリティープロジェクトに基づくセキュリティー重視のコンポーネントです。
Apache Shiro は、認証、承認、エンタープライズセッション管理、および暗号化を適切に処理する、強力で柔軟なオープンソースセキュリティーフレームワークです。Apache Shiro プロジェクトの目的は、最も堅牢で包括的なアプリケーションセキュリティーフレームワークを提供すると同時に、非常に理解しやすく、非常に使いやすいものにすることです。
この camel shiro-security コンポーネントを使用すると、認証と承認のサポートを camel ルートのさまざまなセグメントに適用できます。
Shiro セキュリティーは、Camel ポリシーを使用してルートに適用されます。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 セキュリティーの基本
camel ルートで Shiro セキュリティーを使用するには、ShiroSecurityPolicy オブジェクトをセキュリティー設定の詳細 (ユーザー、パスワード、ロールなどを含む) でインスタンス化する必要があります。次に、このオブジェクトを camel ルートに適用する必要があります。この ShiroSecurityPolicy オブジェクトは、Camel レジストリー (JNDI または ApplicationContextRegistry) に登録され、Camel コンテキストの他のルートで使用される場合もあります。
設定の詳細は、Ini ファイル (プロパティーファイル) または 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:*