【问题标题】:http digest authentication with .htpasswd使用 .htpasswd 进行 http 摘要身份验证
【发布时间】:2013-01-21 17:27:23
【问题描述】:

我在 Windows 上工作,现在我使用以下 .htaccess 文件进行 Http Basic 身份验证:

AuthName "Restricted Area" 
AuthType Basic
AuthUserFile D:\\some\\windows\\path/.htpasswd 
require valid-user

并遵循用户“test”的 .htpasswd 文件,密码为“test”(使用 http://www.htaccesstools.com/htpasswd-generator-windows/ 创建):

test:$apr1$EUhLJ8Ye$LpBIbzDcBXY.80pH53oN2/

这可行,我可以输入正确的用户名和密码并获得访问权限。

但由于我没有使用 SSL,我想使用 Digest 身份验证(以避免将纯文本密码发送到服务器)。我将行 AuthType Basic 更改为 AuthType Digest 但它不再工作 - 即使我输入正确的用户并通过我也无法访问。

可能我应该使用不同的算法在 .htpasswd 中加密/散列密码,但我找不到它...

【问题讨论】:

    标签: apache http-authentication


    【解决方案1】:

    如果您想使用摘要式身份验证,则必须创建新的密码文件。用于摘要身份验证的格式与用于基本身份验证的格式略有不同。通常,apache 会附带执行此操作的工具。

    注意命令行程序“htpasswd.exe”和“htdigest.exe”。您需要使用第二个来生成摘要身份验证的密码文件。像这样使用它:

    c:\path\to\htdigest.exe -c c:\some\windows\path.htpasswd_digest 领域用户名

    第一次发出命令时你只需要“-c”,如果你只是将新用户添加到现有文件中,就像:

    c:\path\to\htdigest.exe c:\some\windows\path.htpasswd_digest realm another_username

    "realm" 应该与您在 Apache 配置中为 AuthName 使用的值相同。

    哦,很明显,别忘了在你的 apache 配置中更新 AuthUserFile...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多