Я пытаюсь настроить сайт так, чтобы мне требовались имя пользователя и пароль для доступа к сайту в целом, но для определенного местоположения необходимы другое имя пользователя и пароль, при этом более общие имя пользователя и пароль не работают для этого местоположения.
Это сейчас из моего 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. Но я полагаю, в вашем сценарии это не проблема?