クライアント証明書を使用したログイン

クライアント証明書を使用したログイン機能の構成には、2 つの選択肢があります。

WebSphere Application Server を使用して Build Forge をホストする場合のログイン

このタスクについて

WebSphere Application Server を使用して Build Forge をホストする場合、変更を行った上で使用可能な方法があります。 この方法を使用する場合には、WebSphere が認証を実行した後に認証済みのプリンシパルを取得する WebSphereSSOInterceptor が必要です。

この方法を使用する場合は、以下の手順で変更を行ってください。

手順

  1. WAS のコンテナー管理認証が rbf-services への要求を認証できるように、Build Forge の WAR ファイルを保護します。 この保護をセットアップする方法については、カスタム・インターセプターを使用した WAS セキュリティーとの統合を参照してください。
  2. rbf-services Web アプリケーション用にクライアント証明書認証のマッピングをサポートするように WebSphere Application Server を構成します。 このサポートは、以下の項目を構成することによってセットアップします。
    • クライアント証明書用の SSL
    • クライアント証明書用の rbf-services Web アプリケーション
    • クライアント証明書用の Web サーバー
    • クライアント証明書用の LDAP サーバーのマッピング

    WebSphere Application Server を構成する際のガイドとなる WebSphere Portal でクライアント証明書認証を構成する方法については、http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.ent.doc/wpf/certauth.html を参照してください。 ステップ 1 から 3 に従ってください。この手順では、カスタム・インターセプターを使用した WAS セキュリティーとの統合で変更する web.xml ファイルについて言及しています。 ${WAS_INSTALL_ROOT}/profiles/${PROFILE_NAME}/installedApps/${CELL_NAME}/rbf-services_war.ear/rbf-services.war/WEB-INF/web.xml にあるファイルに変更を行います。

カスタム Build Forge SSO インターセプターに基づくログイン

このタスクについて

この方法を使用する場合は、シングル・サインオン・フレームワークについてで説明しているとおり、カスタム SSO インターセプターを追加する必要があります。

手順

  1. 以下のように、カスタム SSO インターセプターが要求属性から X509 証明書を受け取るようにします。
    X509Certificate[] certs = 
    (X509Certificate[])request.getAttribute("javax.net.ssl.peer_certificates");
  2. カスタム SSO インターセプターがサブジェクト DN の一部を LDAP 属性にマップするようにします。 通常は、証明書の共通名 (CN) を、LDAP ディレクトリー内のユーザー ID にマップします。 Build Forge SSO インターセプターの authenticateRequest メソッドで結果を返します。
    responseAttributes.setStatus(HttpServletResponse.SC_OK);
    principal = mapCert(certs);  /* Custom method to map from certificate to 
                                    Build Forge LDAP principal. */
    result = new Result(Result.UseridOnlyOID, domain, principal); /* Specify 
                   the domain name of the LDAP server the principal exists in. */
    return result;

フィードバック