Red Hat Training

A Red Hat training course is available for Red Hat Fuse

281.4. Camel Route での Shiro 認証の適用

ShiroSecurityPolicy は、メッセージヘッダーに暗号化された SecurityToken を含む入力メッセージエクスチェンジをテストし、許可して、適切な認証に続いて続行します。SecurityToken オブジェクトには、ユーザーが有効なユーザーであるかどうかを判別するために使用されるユーザー名/パスワードの詳細が含まれています。

    protected RouteBuilder createRouteBuilder() throws Exception {
        final ShiroSecurityPolicy securityPolicy =
            new ShiroSecurityPolicy("classpath:shiro.ini", passPhrase);

        return new RouteBuilder() {
            public void configure() {
                onException(UnknownAccountException.class).
                    to("mock:authenticationException");
                onException(IncorrectCredentialsException.class).
                    to("mock:authenticationException");
                onException(LockedAccountException.class).
                    to("mock:authenticationException");
                onException(AuthenticationException.class).
                    to("mock:authenticationException");

                from("direct:secureEndpoint").
                    to("log:incoming payload").
                    policy(securityPolicy).
                    to("mock:success");
            }
        };
    }