TAI インターセプターを使用しようとしていますが、同じアプリケーションが単一ノード クラスターで正常に動作していますが、複数ノード クラスターの場合、TAI が呼び出されず、代わりにデフォルト レルム資格情報の入力を求められます。
これが isTargetInterceptor メソッドです....
public boolean isTargetInterceptor(HttpServletRequest arg0)throws WebTrustAssociationException {
Enumeration enum1 = arg0.getAttributeNames();
while(enum1.hasMoreElements()){
String str=(String)enum1.nextElement();
logger.log("Request Attributes :"+str);
logger.log("Attribute value for "+str+"is :"+(String)arg0.getAttribute(str));
}
logger.log("Authentication Custom TAI [URI]:"+arg0.getRequestURI());
String strArtifact = arg0.getParameter("samlartifact");
logger.log(" isTargetInterceptor Receive user saml is: " + strArtifact);
if (strArtifact == null)
return false;
else
return true;}
要求された URL 形式は
https://ホスト名:443/NASTAIClient/loginServlet?samlartifact=artifactstring
ポート番号を指定していなくても、WAS(単一ノード)で機能します。これは、機能していないWAS(マルチノード)で使用している実際の形式です
https://hostname/NASTAIClient/loginServlet?samlartifact=artifactstring
デフォルト レルムに適切な認証情報を指定すると、ブラウザで Ltpa Cookie が作成されます。
など、WS サブジェクトを作成します。しかし、TAI インターセプターが呼び出されません。動作中 (単一クラスター) の WAS と非動作中 (マルチクラスター) の WAS のさまざまなレベルのセキュリティ設定を比較しました。デフォルト レルムがプロンプトを表示する理由ではなく、TAI が呼び出されない理由について、特定の理由は見つかりませんでした。