2

我正在使用 spnego http://spnego.sourceforge.net在我的系统上进行单点登录,问题是输入正确的密码也会一次又一次地提示。

有时输入两次就可以加入系统,有时需要输入超过10次相同的用户名和密码才能进入系统。

登录系统后,可以随机多次提示密码,一次又一次。

提前致谢

4

2 回答 2

3

我还没有尝试过那个特定的 spnego 模块,但是我以前遇到过这个问题。

SPNEGO 和两个登录提示的问题通常与:

  1. 应用程序的登录服务配置为允许协商和基本:

    WWW-Authenticate: Negotiate
    WWW-Authenticate: basic
    
  2. 如果在 Internet Explorer 中启用了 Windows 本机身份验证,但 Windows 客户端无法检索服务的 Kerberos 票证(出于某种原因),IE 将

    • 提示登录,但无论您在此处写什么,它都会使用授权发送 NMLSSP 令牌:协商

    • 使用 NMLSSP 令牌的身份验证将失败,您将获得辅助登录提示,该提示将使用基本授权提交:基本

不知道为什么验证两次以上有时会让你进入,虽然..

要进一步调查问题:

  • 检查服务器日志文件(设置 java 选项 -Dsun.security.krb5.debug=true 和 web.xml spnego.logger.level=1)以获取线索。
  • 检查 Windows 客户端是否已登录到域。
  • 检查是否在 Internet Explorer 中启用了 Windows 本机身份验证。
  • 检查该网站是否已添加到 Internet Explorer 中的本地 Intranet 站点(或在网站名称中不使用点“.”的情况下可用)。
  • 检查是否为您的应用服务器配置了 keytab、krb5.conf 和 login.conf。(参见 spnego 文档 pre_flight 和 reference_docs)
  • 检查密钥表中使用的主体名称是 DNS A 记录,而不是您的服务的 DNS CNAME 记录。
  • Fiddler2 是调试 Web 流量的绝佳工具。安装并查看 Internet Explorer 对身份验证质询 (HTTP 401) 的响应。
  • 如果 Internet Explorer 确实提交了 NMLSSP 令牌,您可能还想使用 Wireshark 并过滤“Kerberos”流量,以查看您的域控制器是否响应包含用于访问您的服务的 Kerberos 票证的 TGS-REP。

如果您仍然不走运,如果您可以提供全部或部分内容,我们可能会为您提供进一步帮助

  • spnego 配置
  • 服务器日志(如果有任何相关)
  • Fiddler2 跟踪
  • Wireshark 跟踪

Øyvind

于 2013-12-03T21:29:00.970 回答
0

我发现了问题。

凭据有效,但来自另一个域(我更改了域但没有更新 keytab 文件)

修复密钥表后,系统不再要求输入密码。

谢谢大家!

于 2015-03-12T16:17:36.933 回答