11.6.4. 配置安全域的验证
要配置安全域的验证,请登录到管理控制台并遵循下列步骤。
过程 11.2. 为安全域设置验证
打开安全域的详细视图。
- 点击管理控制台顶部的 Configuration 标签。
- 从 Profile 视图左上角的 Profile 里选择要修改的配置集。
- 展开 Security 菜单,然后选择 Security Domains。
- 点击您要编辑的安全域的 View 链接。
进入验证子系统配置。
如果还未选择的话,选择视图顶部的 Authentication 标签。配置区域分成两部分:Login Modules 和 Details。登录模块是配置的基本单元。安全域可以包含多个登录模块,每个都包括几个属性和选项。添加一个验证模块。
点击 Add 添加一个 JAAS 验证模块。填写模块的细节。Code 是模块的类名。Flag 设置控制模块如何和相同安全域里的其他验证模块关联。对标签的解释Java EE 6 规格提供了安全域的标签的解释。下面的列表来自 http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html#AppendixA。关于更消息的信息,请参考这个文档。
标签 详情 required 登录模块是验证成功所必需的。如果成功或失败,验证都仍会继续处理登录模块列表。requisite 登录模块是验证成功所必需的。如果成功,验证将继续处理登录模块列表。如果失败,控制权马上返回给应用程序(验证不会继续处理登录模块列表)。sufficient 登录模块不是验证成功所必需的。如果成功,控制权马上返回给应用程序(验证不会继续处理登录模块列表)。如果失败,验证将继续处理登录模块列表。optional 登录模块不是验证成功所必需的。如果成功或失败,验证都仍会继续处理登录模块列表。编辑验证设置
在你添加了模块时,你可以通过屏幕上的 Details 里的 按钮修改它的 Code 或 Flags。请确保选择了 Attributes 标签页。可选的:添加或删除模块选项。
如果你需要在模块里添加选项,请点击 Login Modules 列表里的条目,并在 Details 页面里选择 Module Options 标签页。点击 按钮,并提供这个选项的键和值。你可以用 按钮来删除选项。
结果
你的验证模块已添加至安全域,且马上可为使用安全域的应用程序所用。
jboss.security.security_domain
模块选项
在默认情况下,安全域里定义的每个登录模块都会自动添加一个 jboss.security.security_domain
模块选项。这个选项会给检查是否只定义了已知选项的登录模块带来问题。IBM Kerberos 登录模块 com.ibm.security.auth.module.Krb5LoginModule
就是其中之一。
你可以通过在启动 JBoss EAP 时设置系统属性为
true
来禁用添加这个模块选项的行为。请添加下列内容到你的启动参数里。
-Djboss.security.disable.secdomain.option=true
你也可以用基于 web 的管理控制台来设置这个属性。在独立服务器里,你可以在配置文件的 Profile 部分来设置系统属性。在受管域里,你可以对每个服务器组设置系统属性。