302.8. 将消息发送到由 ShiroSecurityPolicy 保护的路由(从 Camel 2.12 更容易)


Camel 2.12 开始,通过两种不同的方式,您可以更轻松地提供主题。

302.8.1. 使用 ShiroSecurityToken

您可以使用包含用户名和密码的 key ShiroSecurityConstants.SHIROI TY_TOKEN 发送消息到 Camel 路由,其中包含用户名和密码。例如:

        ShiroSecurityToken shiroSecurityToken = new ShiroSecurityToken("ringo", "starr");

        template.sendBodyAndHeader("direct:secureEndpoint", "Beatle Mania", ShiroSecurityConstants.SHIRO_SECURITY_TOKEN, shiroSecurityToken);
Copy to Clipboard Toggle word wrap

您还可以在两个不同的标头中提供用户名和密码,如下所示:

        Map<String, Object> headers = new HashMap<String, Object>();
        headers.put(ShiroSecurityConstants.SHIRO_SECURITY_USERNAME, "ringo");
        headers.put(ShiroSecurityConstants.SHIRO_SECURITY_PASSWORD, "starr");
        template.sendBodyAndHeaders("direct:secureEndpoint", "Beatle Mania", headers);
Copy to Clipboard Toggle word wrap

当使用用户名和密码标头时,Camel 路由的 ShiroSecurityPolicy 会将它们自动转换为带有键 ShiroSecurityConstants.SHIRO_SECURITY_TOKEN 的单个标头。然后,令牌是 ShiroSecurityToken 实例,或者 base64 表示作为字符串(后者在设置了 base64=true 时)。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部