302.4. Camel 경로에 Shiro 인증 적용

ShiroSecurityPolicy는 메시지 헤더에 암호화된 SecurityToken을 포함하는 들어오는 메시지 교환을 테스트 및 허용하여 적절한 인증을 더 진행합니다. SecurityToken 오브젝트에는 사용자가 유효한 사용자인 위치를 결정하는 데 사용되는 Username/Password 세부 정보가 포함되어 있습니다.

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