MOM の資格証明マッピング
ご使用のサイトに 1 つまたは複数の MOM がインストールされ設定されている場合は、情報システムにアクセスするように設定された資格証明マッピングを MOM へのアクセスに使用できます。ただし、MOM にアクセスするメッセージおよび Web Event Service Webject は、INSTANCE パラメータを使用しません。SERVICE パラメータが Webject で指定されている場合は、その値が Auth-Map グループへのキーとして使用されます。デフォルトの MOM を設定している場合、Info*Engine は、以下の値を INSTANCE パラメータの値に代わるものとして提供します。
疑似 (Pseudo) INSTANCE
|
説明
|
com.infoengine.msg
|
Message Webject (type=MSG) の値
|
com.infoengine.wes
|
Web Event Service Webject (type=WES) の値
|
com.infoengine.jms
|
メッセージまたは Web Event Service Webject の値
|
3 つの疑似 (Pseudo) INSTANCE パラメータ値を設定することによって、Info*Engine では、ご使用のサイトで資格証明マッピングを介した MOM への以下のアクセスを柔軟に設定できるようになります。
• com.infoengine.jms 疑似 (Pseudo) INSTANCE パラメータ値を使用して、MOM への一般的なアクセスを行うためのユーザー名およびパスワードを設定します。
• com.infoengine.msg および com.infoengine.wes 疑似 (Pseudo) INSTANCE パラメータ値を使用して、メッセージまたは Web Event Service Webject を介した特定のアクセスを行うために一般的なアクセスをオーバーライドします。
Adapter Webject と同様に、メッセージおよび Web Event Service Webject に DBUSER および PASSWD パラメータ値を指定することによって、資格証明マッピング、またはデフォルトのユーザー名およびパスワードのプロパティ設定によって提供されたすべての設定がオーバーライドされます。
ユーザー名およびパスワードが Webject に指定されておらず、ご使用のサイトに設定された資格証明マッピング、または MSG および WES プロパティに設定可能なデフォルト値によって決定できない場合は、匿名の接続が行われます。
以下の例の資格証明マッピングタスクでは、前のマッピングタスクを拡張して、有効なすべてのユーザー名や、一般的な MOM アクセスの 1 つの疑似 (Pseudo) INSTANCE 名などの INSTANCE 名の組み合わせが含まれるグループを作成します。このグループから、認証済みのユーザー名を含む要素のみを選択します。次に、これらの要素は Auth-Map グループを作成します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!-- Create a group from specified parameters -->
<ie:webject name="Create-Group" type="GRP">
<ie:param name="GROUP_OUT" data="AuthGroup"/>
<ie:param name="CLASS" data="AuthorizationRecord"/>
<ie:param name="DELIMITER" data=":"/>
<ie:param name="ELEMENT" data="USERNAME=abc:INSTANCE=com.myHost.jdbcScott:
DBUSER=scott:PASSWD=tiger"/>
<ie:param name="ELEMENT" data="USERNAME=abc:INSTANCE=com.myHost.jdbcAdapter:
DBUSER=abc:PASSWD=abc123"/>
<ie:param name="ELEMENT" data="USERNAME=xyz:INSTANCE=com.myHost.myGateway:
DBUSER=xyz:PASSWD=xyz123"/>
<ie:param name="ELEMENT" data="USERNAME=test:INSTANCE=com.myHost.myGateway:
DBUSER=mno:PASSWD=mno123"/>
<ie:param name="ELEMENT" data="USERNAME=abc:INSTANCE=com.infoengine.jms:
DBUSER=mom1:PASSWD=gen456"/>
<ie:/webject>
<!-- Select subset for actual Auth-Map group based on authenticated user -->
<ie:webject name="Subset-Group" type="GRP">
<ie:param name="GROUP_IN" data="AuthGroup"/>
<ie:param name="FILTER" data="USERNAME='$(SERVER[]AUTH-USER[0])'"/>
<ie:param name="CASE_IGNORE" data="TRUE"/>
<ie:param name="GROUP_OUT" data="Auth-Map"/>
<ie:/webject>
認証済みのユーザーが abc の場合にこのタスクを実行すると、Auth-Map グループ内の結果の要素は以下のようになります。
USERNAME
|
INSTANCE
|
DBUSER
|
PASSWD
|
abc
|
com.myHost.jdbcScott
|
scott
|
tiger
|
abc
|
com.myHost.jdbcAdapter
|
abc
|
abc123
|
abc
|
com.infoengine.jms
|
mom1
|
gen456
|
メッセージまたは Web Event Service Webject を実行するときは必ず、ユーザー abc はユーザー名 mom1 およびパスワード gen456 を使用して、MOM へのアクセス権を取得します。