【发布时间】:2014-10-03 18:25:30
【问题描述】:
如RFC 4559 中所述,Negotiate 机制可能需要多个请求来完成一个 GSSAPI 上下文。但是,我无法从 RFC 中了解使用什么机制将这些请求相互关联。以 RFC 第 5 节中描述的示例为例:
1:
C: GET dir/index.html
2:
S: HTTP/1.1 401 Unauthorized
S: WWW-Authenticate: Negotiate
3:
C: GET dir/index.html
C: Authorization: Negotiate a87421000492aa874209af8bc028
4:
S: HTTP/1.1 401 Unauthorized
S: WWW-Authenticate: Negotiate 749efa7b23409c20b92356
5:
C: GET dir/index.html
C: Authorization: Negotiate 89a8742aa8729a8b028
在第 5 步之前我很清楚。假设可能有许多客户端同时进行身份验证,服务器如何知道第 5 步中的 Authorization 标头是对第 4 步数据的响应?我看不到任何关于会话 cookie 或任何内容的提及,虽然我不是 GSSAPI 专家,但我认为 GSSAPI 数据中没有任何固有的东西可用于将其与身份验证会话相关联。
那么交易是什么? :)
【问题讨论】:
-
您需要解密协商数据才能知道它到底是什么。那肯定会给你答案……
-
@AlexisWilke:但是 GSSAPI 数据对于 GSSAPI 的用户来说应该是不透明的。但是,即使我要打破抽象并对其进行解密,我也非常怀疑它是否包含任何类型的会话 ID。
标签: http http-authentication http-negotiate