第 302 章 Shiro Security 组件


可作为 Camel 2.5 提供

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

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>

302.1. Shiro Security Basics

要在 camel 路由上使用 Shiro Security,B ShiroSecurityPolicy 对象必须使用安全配置详情(包括用户、密码、角色等)进行实例化。然后,此对象必须应用于 camel 路由。此 ShiroSecurityPolicy 对象也可以在 Camel 注册表中注册(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.