302.7. ShiroSecurityPolicy で保護されたルートにメッセージを送信する
セキュリティーポリシーが適用される camel ルートで送信されるメッセージとメッセージエクスチェンジには、Exchange ヘッダーに SecurityToken を含める必要があります。SecurityToken は、ユーザー名とパスワードを保持する暗号化されたオブジェクトです。SecurityToken はデフォルトで AES 128 ビットセキュリティーを使用して暗号化されており、任意の暗号に変更できます。
以下は、Camel の ProducerTemplate と SecurityToken を使用してリクエストを送信する方法の例です。
@Test
public void testSuccessfulShiroAuthenticationWithNoAuthorization() throws Exception {
//Incorrect password
ShiroSecurityToken shiroSecurityToken = new ShiroSecurityToken("ringo", "stirr");
// TestShiroSecurityTokenInjector extends ShiroSecurityTokenInjector
TestShiroSecurityTokenInjector shiroSecurityTokenInjector =
new TestShiroSecurityTokenInjector(shiroSecurityToken, passPhrase);
successEndpoint.expectedMessageCount(1);
failureEndpoint.expectedMessageCount(0);
template.send("direct:secureEndpoint", shiroSecurityTokenInjector);
successEndpoint.assertIsSatisfied();
failureEndpoint.assertIsSatisfied();
}