302.7. 将消息发送到由 ShiroSecurityPolicy 保护的路由
在 ExchangeHeader 中的 SecurityToken (SecurityToken)中,在 camel 路由中发送的消息和消息交换程序需要被安全策略应用。SecurityToken 是一个加密对象,包含 Username 和 Password。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(); }