loginServiceManaged メソッド

この記事には、以下のトピックが含まれています。
casm173
この記事には、以下のトピックが含まれています。
loginServiceManaged メソッドでは以下のパラメータを使用します。
パラメータ
タイプ
説明
policy
文字列
(必須)ポリシーを指定します。平文で定義する必要があります。
encrypted_policy
文字列
(必須)ポリシー所有者のプライベート キーで暗号化された、ポリシー コードのデジタル シグネチャを指定します。 BASE64 テキスト形式が使用されています。
説明
ユーザ認証を実行します。認証手順は次のようになります。平文のポリシー コードを使用してポリシーを検索し、ポリシーに関連付けられたポリシー所有者のパブリック キーを取得します。次に暗号化されたポリシー コードを復号化し、復号化された情報をポリシー コードと照合してから、バックエンド サーバとのセッションを開きます。 返されたセッション ID(SID)は、後続の Web サービス メソッド呼び出しに使用できます。 ポリシーに指定した代理連絡先が以降のすべての Web サービス アクティビティの担当者になります。 この代理連絡先には、すべてのファンクション グループ セキュリティおよびデータ パーティションが適用されます。
encrypted_policy パラメータが BASE64 テキスト形式であり、バイナリ形式から適切に変換する必要があることに注意することも重要です。 この SID は logout() によって解放されます。 タイムアウトまで使用されない場合、SIDの有効期限が切れる可能性があります。
戻り値
以下の値が返されます。
パラメータ
タイプ
説明
SID
文字列
ほかの Web サービス コールすべてで使用する一意のセッション ID(SID)を示します。 平文となっています。
Java での loginServiceManaged の実装
以下では、証明書を生成し、それを使用して CA SDM Web サービスにアクセスする方法について説明します。
以下の例では、CA SDM 証明書を使用してログインを行い、2 つの Web サービス コールを実行します。 getBopsid() Web サービス メソッド コールは、特定のユーザにリンクされているトークンを取得できます。 このトークンを使用すると、パスワードを要求されることなく、リンクされたユーザとして CA SDM Web インターフェースにログインすることができます。 これにより、異なるアプリケーション間のシームレスな統合が可能になります。
生成された BOPSID トークンは 30 秒後に無効になるため、すぐに使用してください。
重要:
バージョン 1.4 の AXIS ツールの使用には既知の問題があります。 詳細については、
リリース ノート
を参照してください。
以下の手順に従います。
  1. AXIS ツール WSDL2Java を使用してスタブ クラスを生成します。 詳細については、PKI_loginServiceManaged_JAVA_steps ファイルの「AXIS Tool WSDL2Java によるスタブ クラスの生成」を参照してください。 このファイルは、以下の場所にあります。
    $NX_ROOT/samples/sdk/websvc/java/test1_pki
  2. CA SDM サービスを起動します。
  3. pdm_pki -p DEFAULT を実行します。
    DEFAULT.p12 は現在のディレクトリに作成されます。 このポリシーでは、パスワードはポリシー名と同じです(この場合は DEFAULT)。
    このコマンドによって、証明書のパブリック キーも sapolicy テーブル/オブジェクトの pub_key フィールド(public_key 属性)に追加されます。
  4. CA SDM にログインします。
  5. 管理
    ]タブで、[
    SOAP Web サービス ポリシー
    ]-[
    ポリシー
    ]を選択します。
    SOAP Web サービスのアクセス ポリシー リスト
    ]ページが開きます。
  6. DEFAULT
    ]をクリックします。
    SOAP Web サービスのアクセス ポリシー詳細
    ]ページが開きます。
  7. 代理連絡先
    ]フィールド(この例では ServiceDesk)を入力し、DEFAULT ポリシー レコードの[キーを所有]フィールドに[はい]が表示されていることを確認します。
  8. DEFAULT.p12 (コマンド pdm_pki が実行されるディレクトリから)、
    pkilogin.jsp
    という名前の JSP ファイル、および
    pkilogin.htm
    という名前の HTML ファイル($NX_ROOT/samples/sdk/websvc/java/test1_pki ディレクトリから)を以下のディレクトリにコピーします。
    $NX_ROOT/bopcfg/www/CATALINA_BASE/webapps/axis
  9. Axis ディレクトリにある HTML フォームを開きます。 たとえば、http://localhost:8080/axis/pkilogin.htm
    適切なフィールドに入力します。
    [ディレクトリ]フィールドは証明書ファイルの場所を示します。 パスを変更して正しい場所を反映します。
  10. [Log me in!]をクリックします。
    結果のページが表示されます。
  11. BOPSID の URL をクリックします。
    この URL をすぐにクリックしてください。 BOPSID のトークンは約 30 秒で無効になります。
    BOPSID を使用する URL のフォーマットは、以下のとおりです。
    http://<サーバ名>:CA Portal/CAisd/pdmweb.exe?BOPSID=
AIX 上で実行している Java クライアント プログラムに対して loginServiceManaged メソッドを使用するには、JAVA_HOME にあるセキュリティ ポリシー ファイル セットに置き換える必要がある場合があります。 http://www.ibm.com にアクセスして、「developerworks java technology security information AIX」で検索を行います。 「developerWorks : Java technology : Security」ドキュメントで、「IBM SDK Policy files」へのリンクをたどります。 制約のないポリシー ファイル(local_policy.jar と US_export_policy.jar)をダウンロードします。 JAVA_HOME/lib/security ディレクトリ内の元のファイルを、これらのファイルに置き換えます。
WSDL2Java によるスタブ クラスの生成
CA SDM Web サービスのスタブ クラスを生成できます。
WSDL2Java によるスタブ クラスを生成するには
  1. コマンド プロンプトを開き、「<drive>:\program files\CA」ディレクトリに移動します。
    ディレクトリが表示されます。
  2. dir /x コマンドを実行します。
    CA SDM ディレクトリの短縮形が表示されます。 たとえば、SERVIC~1 が省略名となります。
  3. サーバのすべてのローカル ドライブ上で javac.exe を検索します。 ファイルが見つかった場合は、そのファイルをバッチ ファイルで参照する必要があるため、その場所をメモしておきます。
    javac.exe が見つからない場合は、Http://java.sun.com に移動し、Java J2SE SDK を探してダウンロードしてください。 再起動が必要になる場合があります。
  4. build_wsdl.bat というバッチ ファイルをビルドして、以下のディレクトリに配置します。
    $NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\axis
  5. バッチ ファイルに以下のコードを使用し、必要に応じて太字の項目を更新します。
@echo off ::################################################################## ::# Simple bat file to Build Unicenter Service Desk Version 11.0 USD Stub classes ::# Use it to create the required USD Unicenter Service Desk Version 11.0 Java Web Services classes ::# ::# Usage: build_wsdl ::################################################################# @REM Update this with the PATH to USD NX_ROOT location @SET USD_SHORT_PATH=C:\Progra~1/CA/Servic~1/ @REM Update this with the PATH to the JDK javac.exe compiler @REM (this is used in the 2nd part of this file) @SET JAVAC_EXE="C:\j2sdk1.4.2_13\bin\javac.exe" @REM Update this to the path to the USD <USDK> <rellevel> NX_ROOT/java/lib location @SET USD_TOMCAT=%USD_SHORT_PATH%java/lib @SET CP=%USD_TOMCAT%/axis.jar;%USD_TOMCAT%/commons-discovery.jar;%USD_TOMCAT%/commons-logging.jar;%USD_TOMCAT%/jaxrpc.jar;%USD_TOMCAT%/saaj.jar;%USD_TOMCAT%/log4j-1.2.8.jar;%USD_TOMCAT%/xml-apis.jar;%USD_TOMCAT%/xercesImpl.jar;%USD_TOMCAT%/wsdl4j.jar;%USD_TOMCAT%/axis-ant.jar @REM Please specify the path to java.exe file below @REM You can obtain this by reviewing the NX.env file use the @NX_JRE_INSTALL_DUR @REM variable to derive this info @SET JAVA_PATH=C:\Program Files(x86)\CA\SC\JRE\1.6.0_30 @SET JAVA_EXE="%JAVA_PATH%\bin\java.exe" @cd WEB-INF\classes %JAVA_EXE% -cp %CP% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/services/USD_Unicenter Service Desk Version 11.0_WebService?wsdl @cd ..\.. ::################################################################## ::# This next section compiles the Service Desk stub code ::# Once complete, you should recycle tomcat with the following ::# commands or by recycling Service Desk: ::# pdm_tomcat_nxd -c STOP ::# pdm_tomcat_nxd -c START ::################################################################## @SET CP=".\classes;%CP%" @SET STUBS_DIR=classes\com\ca\www\UnicenterServicePlus\ServiceDesk @cd WEB-INF %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ArrayOfInt.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ArrayOfString.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ListResult.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebService.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebServiceLocator.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebServiceSoap.java %JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebServiceSoapSoapBindingStub.java @cd ..
コマンド プロンプトからバッチ ファイルを実行すると、スタブ クラスが配置され、コンパイルされます。
  • 以下のように Tomcat をリサイクルします。
    • pdm_tomcat_nxd -c STOP
    • pdm_tomcat_nxd -c START