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();
    }