第281章 Shiro セキュリティーコンポーネント
Camel 2.5 で利用可能
Camel の shiro-security コンポーネントは、Apache Shiro セキュリティープロジェクトをベースとするセキュリティーフォーカスのコンポーネントです。
Apache Shiro は、認証、承認、エンタープライズセッション管理、暗号化を適切に処理する強力かつ柔軟なオープンソースのセキュリティーフレームワークです。Apache Shiro プロジェクトの目的は、最も堅牢で包括的なアプリケーションセキュリティーフレームワークを提供することです。また、理解が非常に簡単で、非常に簡単です。
この camel shiro-security コンポーネントを使用すると、認証および承認サポートを camel ルートの異なるセグメントに適用できます。
Shiro セキュリティーは Camel ポリシーを使用してルートに適用されます。Camel の Policy は、インターセプターを 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>
281.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:*