Назад | Перейти на главную страницу

Наличие определенных учетных данных htaccess для одного URL-адреса, отличного от остального сайта

Я пытаюсь настроить сайт так, чтобы мне требовались имя пользователя и пароль для доступа к сайту в целом, но для определенного местоположения необходимы другое имя пользователя и пароль, при этом более общие имя пользователя и пароль не работают для этого местоположения.

Это сейчас из моего 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>

Проблема в том, что второй блок местоположения, кажется, перекрывает первый. Когда я изменяю второй блок местоположения, чтобы требовать действительного пользователя, я могу войти в расположение / store / dashboard с помощью blueadmin, но это также означает, что blueadmin можно использовать для входа на остальную часть сайта, что мне не нужно.

Как я могу это исправить?

Я не могу комментировать, поэтому должен отправить ответ.

Проблема в том (насколько я знаю): вы не хотите получить доступ /store/dashboard но вам также нужно право видеть / так как /store/dashboard это подкаталог /.

Вы можете использовать поддомен:

/ => example.com

/store/dashboard => dashboard.example.com

Тогда вы можете / должны использовать 2 хоста с собственными / каталог.

Но я не уверен.

Проблема в том, что второй блок местоположения, кажется, перекрывает первый.

Да.

Я чувствую, что здесь чего-то не хватает, но вам просто нужно поменять местами два <Location> блоки:

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

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

Теперь пользователь blue может получить доступ ко всему сайту, кроме /store/dashboard. И blueadmin может только доступ /store/dashboard а не весь остальной сайт. Другими словами, «второй блок местоположения имеет приоритет над первым». Кажется, что вам нужно?

Однако потенциальная проблема с этим сценарием заключается в том, что blueadmin не может получить доступ ни к одному (возможно общий) ресурсы за пределами /store/dashboard Дерево URL. Но я полагаю, в вашем сценарии это не проблема?