Sun Identity Manager 8.1 リソースリファレンス

メインフレームの例

ACF2、RACF、および Top Secret アダプタでは、login および logoff のリソースアクションが必要です。login アクションは、認証されたセッションに関してメインフレームとネゴシエーションを行います。logoff アクションは、そのセッションが不要になったときに接続を解除します。

thin クライアントのホストアクセス 3270 エミュレータは、スクリプトセッション内のコマンドの実行を簡素化するために、リソースアダプタによるリソースアクションのコンテキストに提供されます。このエミュレータは、com.waveset.object.HostAccess クラスで定義されます。リソースアクションに渡される hostAccess オブジェクトで使用可能なメソッドに関する詳細については、HostAccess に関する JavaDoc を参照してください。

リソースアクションのコンテキスト

グローバル変数のいくつかは、スクリプトアクションのコンテキストで使用します。

オブジェクト

説明

hostAccess 

TN3270 エミュレータ。com.waveset.adapter.HostAccess のインスタンス。メインフレームとの間でキーストロークとコマンドを送受信するために使用されます。

hostAccessLogin 

com.waveset.adapter.HostAccessLogin インタフェースを実装するクラスのインスタンス。主に、ログインプロセス中にイベントが失敗した場合に必要となる、logoff() メソッドを実装するために使用されます。

identity 

リソースのユーザーの accountId を含む文字列。 

user 

ログオンする管理ユーザー名を含みます。 

userAttrs 

アクションで必要な各リソースユーザー属性の値を含む java.util.Map のインスタンス。

password 

メインフレームユーザーのパスワードを格納する暗号化されたオブジェクト。 プレーンテキストに変換するには password.decryptToString() を使用します。 

system 

メインフレームシステム名 

out 

java.io.PrintStream のインスタンス。Javascript がこのストリームに書き込む場合 (たとえば out.print("Hello") など)、その内容がトレースされ、リソースアクションの結果として UI に示されます。

err 

java.io.PrintStream のインスタンス。Javascript がこのストリームに書き込む場合 (たとえば err.print("Error") など)、その内容がトレースされ、リソースアクションの結果として UI に示されます。

SendKeys メソッドのニーモニックキーワード

次の表では、3270 エミュレータを通して実行可能な、英数字以外の値のキー入力をシミュレートする特殊機能について説明します。

機能

ニーモニックキーワード

機能

ニーモニックキーワード

Attention 

[attn] 

F1 

[pf1] 

Backspace 

[backspace] 

F2 

[pf2] 

Backtab 

[backtab] 

F3 

[pf3] 

Beginning of Field 

[bof] 

F4 

[pf4] 

Clear 

[clear] 

F5 

[pf5] 

Cursor Down 

[down] 

F6 

[pf6] 

Cursor Left 

[left] 

F7 

[pf7] 

Cursor Right 

[right] 

F8 

[pf8] 

Cursor Select 

[cursel] 

F9 

[pf9] 

Cursor Up 

[up] 

F10 

[pf10] 

Delete Character 

[delete] 

F11 

[pf11] 

DUP Field 

[dup] 

F12 

[pf12] 

Enter 

[enter] 

F13 

[pf13] 

End of Field 

[eof] 

F14 

[pf14] 

Erase EOF 

[eraseeof] 

F15 

[pf15] 

Erase Field 

[erasefld] 

F16 

[pf16] 

Erase Input 

[erinp] 

F17 

[pf17] 

Field Mark 

[fieldmark] 

F18 

[pf18] 

ホーム 

[home] 

F19 

[pf19] 

Insert 

[insert] 

F20 

[pf20] 

New Line 

[newline] 

F21 

[pf21] 

PA1 

[pa1] 

F22 

[pf22] 

PA2 

[pa2] 

F23 

[pf23] 

PA3 

[pa3] 

F24 

[pf24] 

Page Up 

[pageup] 

   

Page Down 

[pagedn] 

   

Reset 

[reset] 

   

System Request 

[sysreq] 

   

Tab Field 

[tab] 

   

サンプルリソースアクション

次のコーディング例は、メインフレームのリソース上で一般に実行されるアクションを示しています。

login アクション

次のコードは、login および logoff リソースアクションの完全なサンプルです。このサンプルは、Top Secret リソースを使用する、ある特定の顧客の環境に合わせた内容になっています。したがって、コマンド、プロンプト、コマンドシーケンスなどのテキストは、配備環境によって異なる可能性があります。これらのリソースアクションは、XML 内の Javascript をラップします。

<ResourceAction name=’ACME Login Action’>
   <ResTypeAction restype=’TopSecret’>
      <act>
         var TSO_MORE = " ***";
         var TSO_PROMPT = " READY";
          var TS_PROMPT = " ?";
         hostAccess.waitForString("ENTER YOUR APPLICATION NAME");
         hostAccess.sendKeys("tso[enter]");
          hostAccess.waitForString("ENTER USERID– ");
         hostAccess.sendKeys(user + "[enter]");
         hostAccess.waitForString("TSO/E LOGON");
         hostAccess.sendKeys(password);
         hostAccess.sendKeys("[enter]");
         var pos = hostAccess.searchText("  -Nomail", false);
         if (pos != 0) {
            hostAccess.setCursorPos(pos);
            hostAccess.sendKeys("S");
         }
         pos = hostAccess.searchText("  -Nonotice", false);
         if (pos != 0) {
            hostAccess.setCursorPos(pos);
            hostAccess.sendKeys("S");
         }
         hostAccess.sendKeys("[enter]");
         hostAccess.waitForStringAndInput(TSO_MORE);
         hostAccess.sendKeys("[enter]");
         hostAccess.waitForStringAndInput(TSO_MORE);
         hostAccess.sendKeys("[enter]");
         hostAccess.waitForStringAndInput("ISPF");
         hostAccess.sendKeys("=x[enter]");
         hostAccess.waitForString(TSO_PROMPT);
         var resp =hostAccess.doCmd("PROFILE NOPROMPT MSGID NOINTERCOM 
NOPAUSE NOWTPMSG PLANGUAGE(ENU) SLANGUAGE(ENU) NOPREFIX[enter]", 
TSO_PROMPT, TSO_MORE);
         hostAccess.waitForStringAndInput("ENTER LOGON:");
         hostAccess.sendKeys(system + "[enter]");
         hostAccess.waitForStringAndInput("USER-ID.....");
         hostAccess.sendKeys(user + "[tab]" + password);
         hostAccess.sendKeys("[enter]");
         var stringsToHide = new java.util.ArrayList();
         stringsToHide.add(password.decryptToString());
         hostAccess.waitForString("==>", stringsToHide);
         hostAccess.waitForInput();
         hostAccess.sendKeys("[pf6]");
         hostAccess.waitForInput();
      </act>
   </ResTypeAction>
</ResourceAction>

logoff アクション

<ResourceAction name=’ACME Logoff Action’>
   <ResTypeAction restype=’TopSecret’>
      <act>
         var TSO_PROMPT = " READY";
         hostAccess.sendKeys("[clear]end[enter]");
         hostAccess.waitForString(TSO_PROMPT);
         hostAccess.sendKeys("logoff[enter]");
       </act>
   </ResTypeAction>
</ResourceAction>

RACF データセット規則のアクション

RACF リソースパラメータのページで「データセット規則の作成および削除」パラメータが選択されている場合は、Identity Manager によってデータセット規則が直接管理されます。ユーザー独自のデータセット規則を設定するには、次のようなアクションを定義します。

<ResourceAction name=’create after action’>
   <ResTypeAction restype=’RACF’>
      <act>
         var TSO_PROMPT = " READY";
         var TSO_MORE = " ***";
         var cmd1 = "addsd ’"+identity+".test1.**’ owner(’"+identity+"’)[enter]";
         var result1 = hostAccess.doCmd(cmd1, TSO_PROMPT, TSO_MORE);
      </act>
   </ResTypeAction>
</ResourceAction>