5.2.2. 根据属性文件配置用户和密码身份验证
AMQ Broker 支持灵活的基于角色的安全模型,以根据其地址将安全性应用到队列。队列已绑定到一个地址(用于点对点消息传递)或多对点(用于发布与订阅消息传递)。当消息发送到地址时,代理会查找绑定到该地址的一组队列,并将消息路由到一组队列。
					当您需要基本用户和密码身份验证时,请使用 PropertiesLoginModule 来定义它。此登录模块根据代理本地存储的以下配置文件检查用户凭证:
				
artemis-users.properties- 用于定义用户和相应的密码
 artemis-roles.properties- 用于定义角色,并将用户分配到这些角色
 login.config- 用于为用户和密码验证和客户机访问配置登录模块
 
					artemis-users.properties 文件可以包含哈希密码,以提高安全性。
				
以下部分介绍了如何配置:
5.2.2.1. 配置基本用户和密码身份验证 复制链接链接已复制到粘贴板!
以下步骤演示了如何配置基本用户和密码身份验证。
步骤
打开
<broker-instance-dir>/etc/login.config配置文件。默认情况下,在新的 AMQ Broker 7.8 实例中,这个文件包括以下行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow activemq- 配置的别名。
 org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule- 实施类。
 足够指定
PropertiesLoginModule需要什么级别的成功级别。您可以设置的值有:- 
													
必需:登录模块需要成功。身份验证继续关闭在给定别名中配置的登录模块列表,无论成功还是失败。 - 
													
必要:登录模块需要成功。故障会立即向应用返回控制权。身份验证不会关闭在给定别名中配置的登录模块列表。 - 
													
足够:成功不需要登录模块。如果成功,则控制权返回到应用程序,身份验证也不会进一步进行。如果失败,身份验证将尝试关闭在给定别名中配置的登录模块列表。 - 
													
可选:成功不需要登录模块。无论成功还是失败,身份验证都会保留在给定别名中配置的登录模块列表。 
- 
													
 org.apache.activemq.jaas.properties.user- 指定为登录模块实施定义一组用户和密码的属性文件。
 org.apache.activemq.jaas.properties.role- 指定将用户映射到已定义登录模块实施的角色的属性文件。
 
- 
								打开 
<broker-instance-dir>/etc/artemis-users.properties配置文件。 添加用户并为用户分配密码。例如:
user1=secret user2=access user3=myPassword
user1=secret user2=access user3=myPasswordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								打开 
<broker-instance-dir>/etc/artemis-roles.properties配置文件。 为您之前添加到
artemis-users.properties文件中的用户分配角色名称。例如:admin=user1,user2 developer=user3
admin=user1,user2 developer=user3Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								打开 
<broker-instance-dir>/etc/bootstrap.xml配置文件。 如有必要,将您的安全域别名(在这个实例中,activemq)添加到 文件中,如下所示:
<jaas-security domain="activemq"/>
<jaas-security domain="activemq"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow