Я пытаюсь удовлетворять следующие требования (в Apache HTTPD 2.2):Объединения Базовой аутентификации и LimitExcept в Apache 2.2 Virtual Host
- Если метод HTTP ничего, кроме HEAD, POST или GET не разрешить доступ, независимо от любого из следующего.
- Если пользователь является внутренним, разрешите доступ без основной проверки подлинности.
- Если пользователь является внешним, попробуйте выполнить базовую аутентификацию и разрешите, если у них есть хорошие учетные данные.
Это одна из многих вещей, которые я пробовал, но ни одна из вещей, которые я пытался достичь все три требования:
<Directory /path/to/wwwroot>
Options FollowSymLinks
AllowOverride FileInfo
# Basic Authentication
AuthType Basic
AuthName "Enter your site username and password."
AuthUserFile /path/to/stage.passwords
AuthGroupFile /path/to/stage.groups
Require group stageusers
# there's more logic for this variable in the real virtual_host.
# for this simplified example, manually set (using the following)
# or unset (using !internal_user).
SetEnv internal_user
Order deny,allow
Deny from all
Allow from env=internal_user
<LimitExcept HEAD POST GET>
Deny from all
</LimitExcept>
Satisfy all
</Directory>
Я читал документацию на Удовлетворить, Limit, LimitExcept, Order и базовая аутентификация, но мне сложно скомпоновать их.
Что такое жизнеспособный способ?
Я не был в состоянии вернуться к этой задаче до сегодняшнего дня. Раньше я никогда не пользовался щедростью, но теперь я не могу его наградить * и * он вычитается из моего репрезентата. Я предполагаю, что за этой системой существует логика (чего я не понимаю). –
не беспокоится re: bounty – covener