对 DB2 数据库启用可信上下文并进行认证

在应用程序中启用可信上下文,以改进应用程序服务器与 DB2® 数据库服务器进行交互的方式。对于通过应用程序来连接到 DB2 数据库的客户机,可使用可信连接来保留这些客户机的身份记录;可信连接将根据那些用户的身份来授予访问权,从而提供更安全的环境。DB2 提供了一个可信连接选项,即,要求在切换用户身份时提供密码。您可以将应用程序服务器配置为使用进行认证的可信连接,并插入您自己的代码以便利用进行认证的可信上下文。

开始之前

请参阅“对 DB2 数据库启用可信上下文”主题,以确保正确地为应用程序服务器配置可信连接。

关于此任务

如果创建可信上下文时指定了 WITH AUTHENTICATION 选项,那么数据库将要求您提供具有最终用户的身份的认证令牌。数据库将先认证最终用户并验证最终用户是否有权访问数据库,然后才允许处理任何请求。

[z/OS]最终用户的身份必须是 RACF® 标识。

过程

  1. 对于 DB2 数据源,请将 useTrustedContextWithAuthentication 定制属性设置为 true。
    1. 单击JDBC > 数据源
    2. 单击要配置的数据源的名称。
    3. 单击其他属性标题下的定制属性
    4. 单击新建
    5. 填写必填字段。 使用以下信息:
      名称
      useTrustedContextWithAuthentication true
    如果未将 useTrustedContextWithAuthentication 定制属性设置为 true,那么应用程序服务器将提供“在运行时复用 DB2 可信连接而不进行认证”这一实现。在这种情况下,您不需要提供任何信息即可使用可信上下文功能。
  2. 使用 TrustedConnectionMapping 的登录配置,如“对 DB2 启用可信上下文”主题所述。
  3. 扩展 DataStoreHelper 类,并提供 getPasswordForUseWithTrustedContextWithAuthentication 方法的实现,如“开发定制 DataStoreHelper 类”主题所述。 启用进行认证的可信上下文之后,应用程序服务器在运行时将调用此方法以返回一个密码,它将需要使用此密码才能切换可信上下文身份。应用程序服务器切换可信上下文身份时,此方法返回的密码将被发送到数据库,应用程序服务器不会存储此密码。
    仅当符合下列条件时,应用程序服务器才会调用此方法:
    • 您已将 useTrustedContextWithAuthentication 数据源定制属性设置为 true。
    • 您使用 TrustedConnectionMapping 登录配置。
    以下是 getPasswordForUseWithTrustedContextWithAuthentication 方法的一个示例:
    public String getPasswordForUseWithTrustedContextWithAuthentication(String identityname, String realm)
                      throws SQLException
       {
          return customersOwnUtility().getPassword(identityname)   // customers use their own
                                                                   // implementation to get the password
       }
    避免故障 避免故障: 如果不覆盖 DataStoreHelper 类中的 getPasswordForUseWithTrustedContextWithAuthentication 方法以获取用于切换可信连接的身份的密码,就无法启用数据源的 useTrustedContextWithAuthentication 定制属性。如果您未提供 getPasswordForUseWithTrustedContextWithAuthentication 方法的实现,那么应用程序服务器在运行时将抛出具有以下消息的异常:

    TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR=DSRA7033E: 如果不覆盖 getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper,就无法启用数据源的 useTrustedContextWithAuthentication 定制属性。TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.explanation=已启用 useTrustedContextWithAuthentication 定制属性,但未提供 DataStoreHelper 方法的实现代码(此方法将返回应用程序服务器用于切换身份的密码)。TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.useraction=请覆盖 getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper 方法并提供将返回密码的实现代码,或者将数据源的 useTrustedContextWithAuthentication 定制属性设置为 false。

    gotcha

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



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