搜索

第 324 章 Spring Security

download PDF

从 Camel 2.3 开始提供

camel-spring-security 组件为 Camel 路由提供基于角色的授权。它利用 Spring Security (以前称为 Acegi Security)提供的身份验证和用户服务,并添加声明性、基于角色的策略系统来控制路由是否可以被给定主体执行。

如果您不熟悉 Spring Security 身份验证和授权系统,请查看上面链接的 SpringSource 网站中的当前参考文档。

324.1. 创建授权策略

对路由的访问由 SpringSecurityAuthorizationPolicy 对象的实例控制。策略对象包含运行一组端点和对 Spring Security AuthenticationManagerAccessDecisionManager 对象的引用所需的 Spring Security authority (role)的名称,用于确定当前主体是否已分配该角色。策略对象可以配置为 Spring Bean,也可以使用 Spring XML 中的 &lt ;authorizationPolicy& gt; 元素进行配置。

& lt;authorizationPolicy > 元素可能包含以下属性:

Name默认值描述

id

null

唯一的 Spring bean 标识符,用于在路由(必需)中引用策略

access

null

传递给访问决策管理器的 Spring Security authority 名称(必需)

authenticationManager

authenticationManager

上下文中 Spring Security AuthenticationManager 对象的名称

accessDecisionManager

accessDecisionManager

上下文中 Spring Security AccessDecisionManager 对象的名称

authenticationAdapter

DefaultAuthenticationAdapter

Camel 2.4 上下文中 camel-spring-securityAuthenticationAdapter 对象的名称,用于将 javax.security.auth.Subject 转换为 Spring Security Authentication 实例。

useThreadSecurityContext

true

如果 Exchange.AUTHENTICATION 下的 In 消息标头中无法找到 javax.security.auth.Subject,请检查 Authentication 对象的 Spring Security SecurityContextHolder

alwaysReauthenticate

false

如果设置为 true,则每次 访问策略 时都会调用 AuthenticationManager.authenticate ()

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.