3270 ユーザー名とパスワードの置換
ホスト上の SNA ノードは、3270SSOPrefix 文字列の直後に 3270SSOUserTag または 3270SSOPwdTag のいずれかの文字列で構成される置換シーケンスの受信セッションを監視します。 したがって、スキャンされ、置き換えられる既定のユーザー名文字列は MS$SAMEU です。 この文字列が受信セッション データで見つかると、ノードは対応する情報 (Enterprise Single Sign-On (ESSO) データベースのホスト ユーザー名) を検索し、MS$SAMEU をこの情報で上書きします。 スキャンされ、置き換えられるパスワード文字列に対して同じプロセスが発生します。これは、既定では MS$SAMEP です。
この操作では、データ メッセージの長さを変更できないことに注意してください。 ESSO データベースから取得された実際のユーザー名またはパスワードが置換シーケンスよりも短い場合は、埋め込み文字として使用される 3270SSOPadByte 文字列の最初の文字で埋め込まれます。 実際のホスト ユーザー名またはパスワード文字列がスキャン対象の文字列よりも長い場合、データ メッセージの長さが影響を受けないように、これらの文字列はスキャンされた文字列の長さに切り捨てられます。
ユーザー名とパスワードは任意の順序で送信できるため、単一 Sign-On が正常に機能するためには、 3270SSOUserTag エントリと 3270SSOPwdTag エントリのレジストリ文字列値が異なる必要があることに注意してください。
SNA ノードは、これらの特殊なタグ文字列の SSCP-LU セッションを常に監視し、これらの文字列のすべての出現箇所を対応する検索データに置き換えます。 LU-LU セッションでは、ノードはセッションの開始時に監視を開始します (BIND)。 ノードは、置換タグが表示されずに、要求/応答ユニット (RU) の 3270SSOPostReplaceCount チェーンを受信すると監視を停止します。 ノードは、そのセッションの UNBIND-BIND シーケンスを受け取るまで監視を再開しません。
ノードではシーケンスが考慮されることに注意してください。
BIND, data, UNBIND(BIND FORTHCOMING), BIND
同じ LU-LU セッションの継続として、2 つ目の BIND の受信時にモニターを再開しません。 このシーケンスは、多くの場合、ホスト セッション マネージャーがセッションをアプリケーション システムに渡すために使用され、単一のターミナル セッションと見なされます。
ユーザー ID とパスワードは、ノードが 3270SSOPostReplaceCount RU チェーンを受け取るまで、代替タグやタイマーの有効期限が切れるまで、システム サービス制御 LU-SSCP セッションと PLU-SLU セッションの各チェーンで置き換えられます。 既定では、タイマーは 30 秒に設定されていますが、この動作は 3270SSOReplaceCount レジストリ エントリと 3270SSOReplaceTimer レジストリ エントリを使用してレジストリで再構成できます。 ノードが OPEN SSCP を受信すると、タイマーが開始されます。 タイマーの有効期限が切れると、ノードはユーザー ID とパスワードの 3270 置換文字列のメッセージのスキャンを停止します。 タイマーの有効期限が切れた後に置換文字列が到着すると、置換文字列が変更されていないホストに送信され、Single Sign-On が失敗します。 アプリケーションは、タイマーの有効期限が切れたという通知を受け取りません。 問題の唯一の兆候は、ホスト セッションへの単一 Sign-On が失敗した可能性があります。
すべての文字列は ASCII のレジストリで指定されていますが、ノードは一致をスキャンする前に、AE 文字マッピングを介して拡張バイナリ コード 10 進交換コード (EBCDIC) に変換します。