开发独立定制注册表

此开发在使 WebSphere® Application Server 安全性适用各种环境方面提供了很大的灵活性,其中在操作环境中,已存在用户注册表(不是 LDAP 或本地操作系统注册表)的某些概念。

开始之前

为了认证和授权目的,WebSphere Application Server 安全性除了支持使用本地操作系统注册表、独立轻量级目录访问协议 (LDAP) 注册表和联合注册表之外,还支持使用独立定制注册表。实现的独立定制注册表使用 WebSphere Application Server 提供的 UserRegistry Java™ 接口。实现的独立定制注册表实际上可以支持关系数据库、平面文件等中的任何类型或概念的帐户存储库。

实现独立定制注册表需要进行软件开发。实现在 com.ibm.websphere.security.UserRegistry 接口中定义的方法,以调用适当的注册表来获取用户和组信息。该接口定义一组常规方法,以封装各种各样的注册表。在“全局安全性”面板上配置 WebSphere Application Server 安全性时,可以将独立定制注册表配置为所选存储库。

确保独立定制注册表的实现不依赖于任何 WebSphere Application Server 组件,如数据源、Enterprise JavaBeans (EJB) 和 Java 命名和目录接口 (JNDI)。不能有这个依赖关系,因为启动期间,将在大多数其他 WebSphere Application Server 组件之前初始化并启用安全性。如果前一次实现已使用这些组件,那么进行消除依赖项的更改。例如,如果先前的实现使用数据源来连接数据库,那么请改为使用 JDBC java.sql.DriverManager 接口来连接该数据库。

[z/OS]注: 用户注册表用于控制器和服务方。如果注册表实现未受到保护,那么会增加暴露该配置的完整性的风险。

如果先前的实现使用数据源来连接数据库,那么将该实现更改为使用 Java 数据库连接 (JDBC) 连接。

过程

  1. 实现接口中除 CreateCredential 方法(由 WebSphere Application Server 实现)之外的所有方法。 提供FileRegistrySample.java 文件以供参考。
    注意: 提供的样本旨在使您熟悉此功能。请不要在实际生产环境中使用此样本。
  2. 构建您的实现。
    [AIX Solaris HP-UX Linux Windows][z/OS]要编译您的代码,类路径中需要存在 app_server_root/plugins/com.ibm.ws.runtime.jarapp_server_root/plugins/com.ibm.ws.security.crypto.jar 文件。例如: [Windows]
    app_server_root/java/bin/javac -classpath 
    app_server_root/plugins/com.ibm.ws.runtime.jar;
    app_server_root/plugins/com.ibm.ws.security.crypto.jar your_implementation_file.java
    [AIX][HP-UX][Linux][Solaris][z/OS]
    app_server_root\java\bin\javac -classpath 
    app_server_root\plugins\com.ibm.ws.runtime.jar:
    app_server_root\plugins\com.ibm.ws.security.crypto.jar your_implementation_file.java
    [IBM i]要编译您的代码,类路径中需要存在 com.ibm.ws.runtime.jarcom.ibm.ws.security.crypto.jar 文件。 例如:
    javac -extdirs app_server_root/java/ext:/QIBM/UserData/Java400/ext:
    /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/ext:app_server_root/lib   
    -classpath app_server_root/plugins/com.ibm.ws.runtime.jar: 
    app_server_root/plugins/com.ibm.ws.security.crypto.jar 
     com/ibm/websphere/security/FileRegistrySample.java 
    以上几行类路径的代码是一行连续的代码。
  3. [IBM i]在概要文件中为定制类创建 classes 子目录。 有关更多信息,请参阅在概要文件中为定制类创建 classes 子目录

    为单元中的每个节点创建 classes 子目录。

  4. 将先前步骤中生成的类文件复制到产品类路径。
    [AIX Solaris HP-UX Linux Windows][z/OS]首选位置是以下目录:
    • [Windows]%install_root%/lib/ext
    • [AIX][HP-UX][Linux][Solaris][z/OS]%install_root%\lib\ext
    将这些类文件复制到所有产品进程类路径。

    [IBM i]首选位置是 app_server_root\classes 目录。有关更多信息,请参阅在概要文件中为定制类创建 classes 子目录。将这些类文件复制到包括单元和所有 Node Agent 在内的所有产品进程类路径。

  5. 要使用管理控制台配置实现,请遵循有关配置独立定制注册表的主题中的步骤。 此步骤是实现定制用户注册表所必需的。

示例

查看独立定制注册表。

使用这些链接来查看注册表示例。

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

要查看样本独立定制注册表,请参阅下列文件:

下一步做什么

如果您启用安全性,请确保完成余下的步骤:
  1. 保存配置并使它同步,然后重新启动所有服务器。
  2. 尝试访问一些 J2EE 资源,以验证定制注册表实现是否正确。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_tbucs
文件名:tsec_tbucs.html