我们正在尝试使用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不被调用的任何特殊原因,而是为什么默认领域是提示
发布于 2015-08-31 17:14:42
我们发现了节点同步的问题,所以我们通过重新启动来重新检查所有节点,并按照以上评论中建议的完全重新同步。
https://stackoverflow.com/questions/32221702
复制相似问题