我正在使用spnego http://spnego.sourceforge.net在我的系统上进行单点登录,问题是还要输入正确的密码,它会一次又一次地提示您。
有时,如果您键入两次,则可以加入系统;有时,您需要输入相同用户名和密码的10倍以上,才能访问系统。
登录系统后,可以在随机时间多次反复提示输入密码。
提前致谢
最佳答案
我还没有尝试过特定的spnego模块,但是我之前遇到过此问题。
SPNEGO和两个登录提示的问题通常与以下方面有关:
应用程序的登录服务配置为允许协商和基本:
WWW-Authenticate: Negotiate
WWW-Authenticate: basic
如果在Internet Explorer中启用了Windows本机身份验证,但Windows客户端无法检索该服务的Kerberos票证(由于某种原因),则IE将
提示登录,但是无论您在此处写什么,都会使用以下命令发送NTMLSSP令牌
授权:协商
使用NTMLSSP令牌的身份验证将失败,并且您将收到一个辅助登录提示,该提示将使用Basic提交
授权:基本
不知道为什么有时进行两次以上的身份验证会让您进入。
要进一步调查该问题:
检查服务器日志文件(设置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 docs pre_flight和reference_docs)
检查密钥表中使用的主体名称是服务的DNS A记录,而不是DNS CNAME记录。
Fiddler2是调试Web流量的出色工具。安装并查看Internet Explorer如何响应身份验证挑战(HTTP 401)。
如果Internet Explorer确实提交了NTMLSSP令牌,则您可能还希望使用Wireshark并过滤“ Kerberos”流量,以查看您的域控制器是否响应包含包含用于访问服务的Kerberos票证的TGS-REP。
如果您仍然不走运,如果您可以使用全部或部分内容,我们可能会为您提供进一步的帮助
spnego配置
服务器日志(如果有任何相关内容)
Fiddler2跟踪
Wireshark跟踪
Øyvind
关于java - 带Java的SPNEGO多次提示输入密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20341553/