小编Vla*_*ado的帖子

自定义摘要身份验证

  • 我制作了一个用于摘要身份验证的 Http 模块。在服务器上,对于页面的每个请求,该模块都会检查是否存在“authenticate”标头。如果此标头不存在,用户将收到 401 消息。
  • 在客户端,我使用 jQuery 插件进行摘要式身份验证。

据我所知,我有以下功能:

  1. 用户在两个输入字段中输入用户名和密码(不是在浏览器的 Http Authentication 提示中)
  2. 使用 jQuery,我对服务器上的某个受保护页面进行 ajax 调用。此 ajax 调用基于 Digest Http 协议。这意味着我要添加包含用户名、noncecount、clientnonce、MD5 哈希密码等的身份验证标头。
  3. 然后服务器响应 200 消息:)

如果用户转到另一个页面,它将收到“401 访问被拒绝”,因为该请求中没有身份验证标头。这就是问题所在。

  • 如果我使用标准摘要协议,那么浏览器会自动在每个请求中添加授权标头,并且我不会遇到此问题。但我使用这种方式是因为我不知道用户在浏览器的 Http 身份验证对话框中填写他的凭据。我们想要有我们的自定义对话框。在 jQuery DigestJ 插件中,标头称为“authenticate”而不是“authorization”,协议称为 DigestJ 而不是 Digest。这样,当服务器响应 401 消息时,我就不会收到用于输入凭据的浏览器 Http 对话框。我们不能使用表单身份验证。
  • 我可以使用 jQuery 会话插件在客户端存储用户凭据,但如何修改每个请求的 Http 标头?我需要添加“身份验证”标头并插入会话中的凭据。

authentication jquery digest

5
推荐指数
1
解决办法
1888
查看次数

标签 统计

authentication ×1

digest ×1

jquery ×1