我们正在尝试使用 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://hostname:443/NASTAIClient/loginServlet?samlartifact=artifactstring
即使我没有给出端口号,它也在 WAS(单节点)中工作,这是我们在不工作 WAS(多节点)中使用的实际格式
https://hostname/NASTAIClient/loginServlet?samlartifact=artifactstring
如果我们为默认领域提供了正确的凭据,它将在浏览器中创建 Ltpa cookie。
依此类推,它创建了 WS 主题。但是 TAI 拦截器没有被调用。我们比较了工作(单集群)WAS 和非工作(多集群)WAS 的不同级别的安全设置。我们没有找到任何特定原因导致 TAI 没有被调用,而是默认领域提示的原因