第 303 章 Shiro Security 组件


从 Camel 2.5 开始提供

Camel 中的 shiro-security 组件是一个安全集中的组件,它基于 Apache Shiro 安全项目。

Apache Shiro 是一个强大且灵活的开源安全框架,完全处理身份验证、授权、企业会话管理和加密。Apache Shiro 项目的目标是提供最强大、全面的应用程序安全框架,同时非常容易理解且非常容易使用。

此 camel shiro-security 组件允许身份验证和授权支持应用到 camel 路由的不同片段。

使用 Camel 策略在路由上应用 Shiro 安全性。Camel 中的策略利用策略模式在 Camel 处理器上应用拦截器。它能够在 camel 路由的部分/网段上应用交叉处理问题(如安全性、事务等)。

Maven 用户需要将以下依赖项添加到此组件的 pom.xml 中:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-shiro</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

303.1. Shiro 安全基础知识

要在 camel 路由中使用 Shiro 安全性,必须使用安全配置详情(包括用户、密码、角色等)实例化 ShiroSecurityPolicy 对象。然后,此对象必须应用到 camel 路由。此 ShiroSecurityPolicy 对象也可以在 Camel registry (JNDI 或 ApplicationContextRegistry)中注册,然后用于 Camel 上下文中的其他路由。

使用 Ini 文件(properties 文件)或 Ini 对象向 ShiroSecurityPolicy 提供配置详情。Ini 文件是一个标准 Shiro 配置文件,其中包含用户/角色详情,如下所示

[users]
# user 'ringo' with password 'starr' and the 'sec-level1' role
ringo = starr, sec-level1
george = harrison, sec-level2
john = lennon, sec-level3
paul = mccartney, sec-level3

[roles]
# 'sec-level3' role has all permissions, indicated by the
# wildcard '*'
sec-level3 = *

# The 'sec-level2' role can do anything with access of permission
# readonly (*) to help
sec-level2 = zone1:*

# The 'sec-level1' role can do anything with access of permission
# readonly
sec-level1 = zone1:readonly:*
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.