gpt4 book ai didi

java - SSO 身份验证,响应始终为 NTLM

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

我正在尝试在我们正在开发的 Intranet 应用程序上实现 SSO。我正在使用 SPNEGO为了这。现在我在配置 SSO 时遇到了一些问题,希望这里有人能够帮助我。

设置是这样的:

  1. 带有 tomcat 的 Linux 服务器为内联网应用程序提供服务
  2. Windows Server 2008 作为域 Controller (Active Directory)
  3. 带有 IE9 和 Firefox 的 Windows 7 客户端

当我打开 Intranet 应用程序时,我看到从客户端到 tomcat 服务器的 GET 请求。 tomcat 服务器和 SpnegoFilter 的第一个响应是 401 unauthorized 这是正确的,因为客户端需要进行身份验证。

806 6.117724    192.168.65.50   192.168.65.50   HTTP    284 HTTP/1.1 401 Unauthorized 
WWW-Authenticate: Negotiate\r\n

然后客户端的响应是带有标志 NTLMSSP_NEGOTIATE 的 GET 请求。在这里它打破了。我不期望 NTLM 响应,而是 kerberos/spnego 响应。不知何故,我就是不知道如何向 tomcat 服务器发送正确的响应。

808 6.123277    192.168.65.50   192.168.65.50   HTTP    637 GET / HTTP/1.1 , NTLMSSP_NEGOTIATE

默认情况下,SPNEGO 不支持 NTLM,所以我在日志中得到以下条目:

java.lang.UnsupportedOperationException: NTLM specified. Downgraded to Basic Auth (and/or SSL) but downgrade not supported.

所以我做错了什么,但经过一天摆弄配置和策略后,我就是无法弄清楚它是什么。

希望得到一些回应。

最佳答案

Kerberos 不适用于 IP,请使用完全限定的域名。

关于java - SSO 身份验证,响应始终为 NTLM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936243/

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