0

我们正在尝试使用 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 没有被调用,而是默认领域提示的原因

4

1 回答 1

0

我们发现问题在于节点同步,因此我们通过重新启动重新检查所有节点,并按照上面评论中的 Gas 建议完全重新同步。

于 2015-08-31T09:14:42.093 回答