我使用GSSAPI / Kerberos身份验证在我的web应用程序,我想上通过浏览器单点登录。
问题是,Firefox在没有身份验证的情况下向服务器发送了初始请求,并收到了401。但是它包含一个keep-alive标头:
Connection: keep-alive
如果在服务器方面,这常连接请求,并返回一个WWW身份验证标头,然后Firefox的行为正确,并发送本地用户的Kerberos凭据,一切都很好。
但是,如果服务器无法保持连接活动,则Firefox将不会发送带有凭据的另一个请求,即使响应具有WWW-Authenticate标头。
这是因为我使用Django和Django不支持保活协议的问题。
有没有办法让Firefox在没有保持活动状态的情况下进行协商?在the RFC that defines the Negotiate extension中,没有什么要求重新使用相同的连接。
或者,是否可以让Firefofx在第一个请求上抢先发送凭据? RFC中明确允许这样做。
答案 0 :(得分:-1)
该标头是HTTP 1.0,唤醒后快进15年,您的问题将消失。 Firefox与SPNEGO配合得很好。