独立定制注册表

独立定制注册表 是客户实现的注册表,用于实现产品提供的 UserRegistry Java™ 接口。 实际上,客户实现的注册表可支持关系数据库和平面文件等中的任何帐户存储库类型。 定制用户注册表在使产品安全性适应各种环境方面提供了很大的灵活性,在这些环境中,除联合存储库,独立轻量级目录访问协议 (LDAP) 注册表或本地操作系统注册表以外的某种形式的注册表或存储库已存在于操作环境中。

WebSphere® Application Server 安全性提供了一个实现,该实现使用各种基于本地操作系统的注册表和各种基于轻量级目录访问协议 (LDAP) 的独立注册表。 但是,可能存在这种情况:用户和组数据在其他存储库或定制用户注册表(例如数据库)中,而将此信息移至本地操作系统注册表或独立 LDAP 注册表实现是不可行的。 对于这些情况, WebSphere Application Server 安全性提供了服务提供者接口 (SPI) ,您可以实现该接口以与当前注册表进行交互。 定制注册表功能部件支持未由 WebSphere Application Server实现的任何用户注册表。

SPI 是 UserRegistry 接口。 UserRegistry 接口是一组进行授权时所需的方法。 这些方法使用密码或证书来认证各个用户,并收集关于该用户的信息(称为特权属性)。 此接口还包括获取用户和组信息的方法,以便可授予这些方法对资源的访问权。 当在此接口中实现这些方法时,您必须确定如何将 UserRegistry 接口操作的信息映射至注册表中的信息。

此接口有一组实现的方法,以便产品安全性能够与所有与安全性相关的任务的注册表进行交互。 提供的本地操作系统注册表和 LDAP 注册表也实现了此接口。 定制用户注册表有时称为可插入的用户注册表或简称为用户注册表。 期望定制用户注册表实现是线程安全的。

构建定制注册表的操作是通过软件实现的。 实现不依赖于其他 WebSphere Application Server 资源 (例如,数据源) 来执行其操作。

确保定制注册表的实现不依赖于任何 WebSphere Application Server 组件,例如数据源和企业 Bean 等。 请勿具有此依赖关系,因为在启动期间,将在大多数其他 WebSphere Application Server 组件之前初始化并启用安全性。 如果前一次实现已使用这些组件,那么进行消除依赖项的更改。

UserRegistry 接口中的方法对用户的以下信息进行操作:
用户安全性名称
[AIX Solaris HP-UX Linux Windows]用户名与本地操作系统注册表中的用户名类似。
[IBM i]用户名与操作系统注册表中的用户概要文件类似。
当受保护的应用程序提示时,此名称用于登录。 默认情况下,Enterprise JavaBeans (EJB) getCallerPrincipal 方法以及 getRemoteUser 和 getUserPrincipal servlet 方法都会返回此名称。 用户安全性名称也称为 userSecurityNameuserNameuser name
WAS_UseDisplayName
这是用户注册表的一个定制属性。 此属性定义 getCallerPrincipal()、getUserPrincipal() 和 RemoteUser() 方法的返回值。 以下显示了 WAS_UseDisplayName 可接受的值:
  • false:这是缺省值。 将返回安全性名称。
  • true:将返回显示名称。 此设置要求将定制属性 com.ibm.websphere.security.useLoggedSecurityName 设置为 true。
唯一用户标识
此标识表示 UserRegistry 接口所必需的唯一用户标识。 唯一标识类似于 Windows 系统中的系统标识 (SID) , Linux® 和 UNIX 系统中的唯一标识 (UID) 以及轻量级目录认证协议 (LDAP) 中的专有名称 (DN)。 此标识也称为 uniqueUserId。 此唯一标识用于对受保护资源进行权限判定。
用户的显示名
[AIX Solaris HP-UX Linux Windows]此名称是可选的字符串,它描述用户。 实现可以仅仅为了提供信息而使用显示名;这些名称既不必存在也不必是唯一的。 用户界面可以使用显示名显示有关用户的更多信息。
[IBM i]显示名是用户概要文件的文本描述。
组安全性名称
此名称表示安全组组,它也被称为 groupSecurityNamegroupNamegroup name
唯一组标识
此唯一标识是组的标识。 此名称也被称为 uniqueGroupId 标识。
组的显示名
此显示名是描述组的可选字符串。

UserRegistry 接口 上的主题描述了该接口中需要实现的每个方法。 提供了每个方法的说明和它们在样本中的使用情况以及 V4 界面中的任何更改。 "相关引用" 部分提供指向其他定制用户注册表文档的链接,包括基于文件的注册表样本。 提供的样本非常简单,意在让 您熟悉该功能部件。 请不要在实际生产环境中使用此样本。