2.2. USERNAMEPASSWORD 登录模块


短名称 : UsernamePasswordLoginModule

全名 : org.jboss.security.auth.spi.UsernamePasswordLoginModule

父级???:AbstractServer 登录模块

UsernamePassword Login Module 是一个抽象登录模块,它在登录过程中引入 identity == String username,credentials == String password view。除了以下字段外,它还会继承 Abstract Server 登录模块中的所有字段。

Expand
选项类型默认值描述

ignorePasswordCase

布尔值

false

指明密码比较是否应该忽略大小写的标志。

digestCallback

完全限定类名称

none

org.jboss.crypto.digest.DigestCallback 的类名称,其中包括用于哈希输入密码的 pre/post 摘要内容(如 salts)。只有在指定了 hashAlgorithmhashUserPassword 设为 true 时才使用。

storeDigestCallback

完全限定类名称

none

org.jboss.crypto.digest.DigestCallback 的类名称,其中包括用于散列存储/预期密码的 pre/post 摘要内容(如 salts)。仅当 hashStorePassword 为 true 并且指定了 hashAlgorithm 时才会使用。

throwValidateError

布尔值

false

指示验证错误是否应该公开给客户端的标志。

inputValidator

完全限定类名称

none

用于验证客户端提供的用户名和密码的 org.jboss.security.auth.spi.InputValidator 实施实例。

注意

与密码散列相关的 UsernamePassword Login Module 选项将在下一节中介绍。

2.2.1. 密码哈希

大多数登录模块必须将客户端提供的密码与用户管理系统中存储的密码进行比较。这些模块通常使用纯文本密码,但可以配置为支持散列密码,以防止纯文本密码存储在服务器端。JBoss EAP 支持配置哈希算法、编码和字符集,以及处理用户密码和存储密码时。

以下是密码哈希选项,可作为登录模块的一部分配置,该模块将 UsernamePassword Login Module 作为父项:

Expand
选项类型默认值描述

hashAlgorithm

代表密码哈希算法的字符串。

none

用于哈希密码的 java.security.MessageDigest 算法的名称。没有默认设置,因此必须指定这个选项来启用哈希。典型的值有 SHA-256SHA-1MD5。当指定 hashAlgorithm 并将 hashUserPassword 设为 true 时,在将从 CallbackHandler 获取的明文密码传递到 UsernamePasswordLoginModule.validatePassword 作为 inputPassword 参数之前,将散列化从 CallbackHandler 获取的文本密码。

hashEncoding

字符串

base64

如果也设置了 hashAlgorithm,则哈希密码的字符串格式。可以指定以下三种编码类型之一: base64xx 或 rfc2617

hashCharset

字符串

容器运行时环境中设置的默认编码

将密码字符串转换为字节数组时要使用的 charset/encoding 名称。

hashUserPassword

布尔值

true

指示是否应该散列化用户输入密码的标志。散列化用户密码将与 login 模块中的值进行比较,该值应当是密码的哈希。

hashStorePassword

布尔值

false

指示是否应该将返回的存储密码的标志进行哈希处理。这用于摘要身份验证,用户提交用户密码哈希以及要比较的服务器中特定于请求的令牌。摘要的哈希算法将是 rfc2617,用于计算服务器端哈希,该哈希值应与从客户端发送的散列值匹配。

passwordIsA1Hash

布尔值

 

org.jboss.security.auth.callback.RFC2617Digest 配置为 summary Callback 或 storeDigestCallback 时使用的标志。如果为 true,则不会对传入的密码进行哈希处理,因为它已经散列化。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat