.htpasswd 与网站身份验证之间的冲突

Clash between .htpasswd and Website Authentication

我的一些 Drupal 网站内容通过 Json 休息服务公开。为了访问它们,我使用 Basic Auth 协议执行了一个 http 请求(即添加授权 header)。

我的问题是该网站必须发布在受 AuthUserFile 方法(即 .htaccess + .htpasswd)保护的文件夹中。 这两种方法都需要相同的请求 header "Authorization",所以我不知道如何将它们都放在请求中。

请求示例为:

curl -X GET \
http://exmple.com/restendpoint \
-H 'Authorization: Basic YWRtaslkdskdfhlskdjfgksdfgjpbmlzaA==' \
-H 'Content-Type: application/json' 

现在,如果我只有 .htaccess 身份验证,或者如果我只有网站身份验证,但不是两者,则此请求(给出相应的凭据)有效。 我也尝试为这两种机制设置相同的用户和密码,但这不起作用,我总是无法访问内容。

有没有办法让这两种机制共存?

根据定义,不可能将两组不同的凭据包含到单个请求中。因此,您需要避免多次身份验证请求,例如htaccess 文件的 ip 通配符。