gpt4 book ai didi

tomcat - SPNEGO Kerberos 单点登录在 Tomcat 服务器的 AD 域中不起作用

转载 作者:行者123 更新时间:2023-11-28 22:11:31 25 4
gpt4 key购买 nike

我遵循了 http://spnego.sourceforge.net/spnego_tomcat.html 中提到的所有步骤(SPNEGO 示例测试代码 HelloKDC.java 按预期工作)但单点登录不工作。

我们的域名是ITLAB(Active directory domain),它有两台机器“Win8Serv”和“Win8Client”。

Tomcat7 使用“KerbServUser@ITLAB”凭据在“Win8Serv”机器上运行。现在我使用“KerbServUser@ITLAB”凭据登录到“Win8Client”。我在 IE 浏览器中输入“http://Win8Serv.itlab.com:8181/hello_spnego.jsp”(为 IE 启用 SSO 选项,启用集成 Windows 身份验证),它提示登录窗口(它不应该询问凭据)。

已调试的 SPNEGO 代码,它正在使用基本身份验证

在 SpnegoAuthenticator.java 中

final SpnegoAuthScheme scheme = SpnegoProvider.negotiate(req, resp, basicSupported, this.promptIfNtlm, serverRealm);

if (scheme.isNegotiateScheme()) {
principal = doSpnegoAuth(scheme, resp);

// BASIC scheme
} else if (scheme.isBasicScheme()) { // it is entering Basic Scheme
principal = doBasicAuth(scheme, resp);
}

你有解决这个问题的建议吗?

如果您需要任何其他信息,请告诉我。

最佳答案

您需要在 AD 用户帐户 kerbservuser@itlab.com 上注册 SPN HTTP/win8serv.itlab.com。客户端机器需要在 DNS 中找到 FQDN,这将是您的 Tomcat 服务器,然后在 KDC 中找到 HTTP 服务点(在您的 AD 域 Controller 上运行)以获得 Tomcat 运行的 HTTP 服务的 Kerberos 服务票证。当 SPN 中的 FQDN 与 DNS 中的 FQDN 相匹配时,您的客户端机器就知道它需要去哪里,这就是 Kerthikeyan 的目标。

您的 Web 浏览器必须具有站点 http://win8serv.itlab.com列在它的“本地 Intranet”区域中,因为 Windows 会将凭据信息(在本例中为 Kerberos 服务票证)传输到要求它(Tomcat 需要这样做)以进行身份​​验证的 Web 服务器。

关于tomcat - SPNEGO Kerberos 单点登录在 Tomcat 服务器的 AD 域中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38770763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com