对一个 URL 具有与网站其余部分不同的特定 htaccess 凭据

对一个 URL 具有与网站其余部分不同的特定 htaccess 凭据

我正在尝试设置一个网站,以便我需要用户名和密码才能访问该网站,但对于特定位置,需要不同的用户名和密码,而更通用的用户名和密码不适用于该位置。

这是我目前的 httpd.conf:

<Location "/store/dashboard">
    AuthType Basic
    AuthName "Please Enter Password"
    AuthUserFile /home/user/webapps/blue_webapp/.htpasswd
    Require user blueadmin
</Location>

<Location "/">
    AuthType Basic
    AuthName "Please Enter Password"
    AuthUserFile /home/user/webapps/blue_webapp/.htpasswd
    Require user blue
</Location>

问题是第二个位置块似乎覆盖了第一个。当我将第二个位置块更改为需要有效用户时,我可以使用 blueadmin 登录到 /store/dashboard 位置,但这也意味着可以使用 blueadmin 登录到网站的其余部分,这不是我想要的。

我怎样才能解决这个问题?

答案1

我无法发表评论,所以我必须发送答案。

问题是(据我所知):您想访问,/store/dashboard 但您还需要查看权限,/因为/store/dashboard它是的子目录/

您可以使用子域名:

/=>example.com

/store/dashboard=>dashboard.example.com

然后您可以/必须使用 2 个具有自己/目录的 vhost。

但我不确定。

答案2

问题是第二个位置块似乎覆盖了第一个位置块。

是的。

我觉得我肯定在这里遗漏了一些东西,但你只需要反转你的两个<Location>块:

<Location "/">
  :
  Require user blue
</Location>

<Location "/store/dashboard">
  :
  Require user blueadmin
</Location>

现在,用户blue可以访问除 之外的整个网站/store/dashboard。并且blueadmin只能访问/store/dashboard而不能访问网站的其余部分。换句话说,“第二个位置块覆盖第一个”。这似乎是您所需要的?

然而,这种情况的一个潜在问题是blueadmin无法访问任何(可能是共享) 资源超出/store/dashboardURL 树的范围。但我认为这在您的场景中不是问题?

相关内容