7

我有一个 web 应用程序,它也执行 kerberos 和基本身份验证。我不知道客户有什么能力。所以这两种身份验证机制都是在 401 回复中发送的。

回复标头将包含,

WWW-Authenticate: Negotiate
WWW-Authenticate: Basic realm="MyREALM"

但是,我希望客户端只有在协商失败时才回退到基本身份验证。

我想要的流程应该是这样的,

  1. 客户端请求
  2. 服务器响应 WWW-Authenticate: Negotiate
  3. 客户端重新请求(使用错误的身份验证数据或某些标志表明它无法继续)
  4. 服务器再次使用 WWW-Authenticate: Basic realm="MYREALM" 响应
  5. 客户端进行基本身份验证。

我怎样才能做到这一点?我修改了服务器代码来做到这一点。但是不在任何域中的浏览器(它应该进行基本身份验证)在第 2 步之后没有响应。

4

1 回答 1

0

你的浏览器是什么?特定的RFC 第 4.6 章要求浏览器必须使用提供的最强身份验证。如果浏览器无法获得凭据,我不记得它应该做什么。

于 2011-07-19T16:54:34.460 回答