选择注册表或存储库
用户注册表中包含的用户信息和组信息。在 WebSphere® Application Server 中,用户注册表认证用户并检索有关用户和组的信息,以执行与安全性相关的功能(包括认证和授权)。
开始之前
在配置用户注册表或存储库之前,请确定要使用的用户注册表或存储库。可以为单元配置一个活动缺省注册表。
关于此任务
WebSphere Application Server 提供了支持多种类型的注册表和存储库的实现,这些注册表和存储库包括本地操作系统注册表、独立轻量级目录访问协议 (LDAP) 注册表、独立定制注册表和联合存储库。
通过 WebSphere Application Server,用户注册表或存储库(例如,联合存储库)认证用户并检索有关用户和组的信息,以执行与安全性相关的功能(包括认证和授权)。
- 使用基本认证、身份断言或客户机证书来认证用户
- 检索有关用户和组的信息以执行与安全性相关的管理功能,例如,将用户和组映射至安全角色
WebSphere Application Server
设计成能够支持多个基于操作系统或操作环境的用户注册表(例如
z/OS® SAF 注册表)以及大部分基于轻量级目录访问协议 (LDAP) 的主要用户注册表。通过设置正确的配置信息(例如用户和组过滤器),可以使用定制 LDAP 功能来支持任何 LDAP 服务器。但是,支持未扩展到这些定制 LDAP 服务器,这是因为有很多无法测试的可能性。
配置正确的注册表或存储库是给用户和组指定应用程序角色的先决条件。缺省情况下,未配置用户注册表或存储库时,将使用基于 SAF 的本地操作系统用户注册表。如果您选择的用户注册表或存储库不是本地操作系统用户注册表或存储库,那么必须先配置用户注册表或存储库。通常,配置用户注册表或存储库的工作是在以下过程中完成的:启用管理安全性,重新启动服务器,然后给用户和组指定所有应用程序的角色。
除了支持本地操作系统、LDAP 和联合存储库注册表以外,WebSphere Application Server 还提供了插件以使用定制注册表功能来支持任何注册表。定制注册表功能使您能够配置任何未通过 WebSphere Application Server 的安全性配置面板提供的用户注册表。
配置正确的注册表或存储库是给用户和组指定应用程序角色的先决条件。在未配置用户注册表或资源库的情况下,缺省情况下将使用本地操作系统注册表。如果您选择的用户注册表不是本地操作系统注册表,那么首先需要配置该注册表或存储库(这通常是在以下过程中完成的:启用全局安全性,重新启动服务器,然后给用户和组指定所有应用程序的角色)。
- 联合存储库
- 本地操作系统,
例如基于 SAF 的用户注册表
限制: 不支持在本地操作系统注册表下配置透明 LDAP 服务器以及使用 LDAP 通过本地操作系统认证用户。 - 独立轻量级目录访问协议 (LDAP) 注册表
- 独立定制注册表
// Retrieves the default InitialContext for this server.
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
// Retrieves the local UserRegistry object.
com.ibm.websphere.security.UserRegistry reg =
(com.ibm.websphere.security.UserRegistry) ctx.lookup("UserRegistry");
// Retrieves the registry uniqueID based on the userName that is specified
// in the NameCallback.
String uniqueid = reg.getUniqueUserId(userName);
// Strip the realm name and get real uniqueID
String uid = com.ibm.wsspi.security.token.WSSecurityPropagationHelper.getUserFromUniqueID (uniqueID);
// Retrieves the security name from the user registry based on the uniqueID.
String securityName = reg.getUserSecurityName(uid);
可以将服务提供程序接口 (SPI) 用于此解析函数。$AdminApp deleteUserAndGroupEntries yourAppName
其中 yourAppName 是应用程序的名称。在执行此操作前,建议您备份旧应用程序。但是,如果下列两个条件都成立,那么可能能够在不删除用户和组信息的情况下切换注册表:- 所有应用程序中的所有用户和组名(包括 RunAs 角色用户的密码)在两个用户注册表中都匹配。
- 应用程序绑定文件未包含对每个用户注册表唯一的访问标识,即使对于同一用户名或组名亦如此。
缺省情况下,应用程序的绑定文件不包含访问标识。这些标识是在应用程序启动时生成的。但是,如果从前发行版迁移现有应用程序,或者已使用 wsadmin 脚本来为应用程序添加访问标识以提高性能,那么必须除去现有用户和组信息,并在配置新用户注册表后添加那些信息。
要了解有关更新访问标识的更多信息,请参阅“AdminApp 对象的命令”一文中的 updateAccess 标识。
![[AIX]](../images/aixlogo.gif)
- ˋ
- #
- =
- \
- :
- "
- ,
- /
- ?
- '
- 空白字符
有关不支持的非字母数字字符的完整列表,请参阅 IBM AIX 操作系统文档。
![[HP-UX]](../images/hpux.gif)
- ˋ
- :
- "
- /
- 空白字符
完成下列某个步骤以配置用户注册表:
过程
下一步做什么
- 如果您正在启用安全性,请确保完成余下的步骤。验证是否已将“全局安全性”面板上的用户帐户存储库设置为适当的注册表或存储库。作为最后一个步骤,通过在“全局安全性”面板中单击应用来验证用户标识和密码。保存更改,停止并启动所有 WebSphere Application Server。
- 为了使用户注册表面板中的任何更改生效,必须通过在“全局安全性”面板上单击应用来验证这些更改。执行验证后,保存配置,停止并启动所有 WebSphere Application Server(包括单元、节点和所有应用程序服务器)。为了避免 WebSphere Application Server 进程之间出现不一致情况,请确保对注册表或存储库所作的任何更改都是在所有进程都处于运行状态时进行的。如果任何进程处于关闭状态,那么需要强制执行同步以确保该进程以后能够启动。
如果启动服务器时未发生任何问题,那么表示设置正确。
如果选择了“通过本地操作系统使用系统授权工具 (SAF)”作为注册表或存储库,那么将忽略绑定文件中的值,但不忽略 RunAs 角色用户的用户标识和密码(或口令)。