Menu Close

7.5. ルートポリシー

Camel は、JBoss EAP セキュリティーシステムとの統合に使用できる RoutePolicies の概念をサポートしています。現在、セキュリティーインテグレーションでサポートされる 2 つのシナリオがあります。

7.5.1. Jarkarta EE への Camel 呼び出し

Camel ルートがセキュアな Jarkarta EE コンポーネントへ呼び出されると、クライアントとして機能し、呼び出しに関連する適切なクレデンシャルを提供する必要があります。

以下のように、ルートに ClientAuthorizationPolicy を付けます。

CamelContext camelctx = new DefaultCamelContext();
camelctx.addRoutes(new RouteBuilder() {
    @Override
    public void configure() throws Exception {
        from("direct:start")
        .policy(new ClientAuthorizationPolicy())
        .to("ejb:java:module/AnnotatedSLSB?method=doSelected");
    }
});

これは、Camel メッセージ処理の一部として認証および承認を実行しません。代わりに、CamelExchange に付属するクレデンシャルを EJB3 レイヤーへの呼び出しに関連付けます。

メッセージコンシューマーを呼び出すクライアントは、以下のように AUTHENTICATION ヘッダーに適切なクレデンシャルを提供する必要があります。

ProducerTemplate producer = camelctx.createProducerTemplate();
Subject subject = new Subject();
subject.getPrincipals().add(new DomainPrincipal(domain));
subject.getPrincipals().add(new EncodedUsernamePasswordPrincipal(username, password));
producer.requestBodyAndHeader("direct:start", "Kermit", Exchange.AUTHENTICATION, subject, String.class);

認証および承認は Jarkarta EE 層で行われます。