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

защитить паролем только домашнюю страницу

Я пытаюсь защитить pwd только мою домашнюю страницу с помощью apache basic auth.

Кажется, это работает на всем, а не только на hp

<LocationMatch "/">
  AuthType Basic
  AuthName "heelooo?"
  AuthUserFile /var/path/.htpasswd
  Require valid-user
 </LocationMatch>

Изменение регулярного выражения на ^/$ или ^$ заставляет ничего не аутентифицировать. Какие-нибудь советы? (это запускает приложение mod_ruby rails)

Я повторил все попытки, и одна решила работать. Я обнаружил, что LocationMatch «^ / $» действительно работает. Должно быть, я раньше делал что-то не так. basicauth действительно может работать с mod_ruby - не нужно запускать fastcgi. Спасибо за помощь.

Всегда лучше использовать директиву Directory для настройки аутентификации.

Директивы расположения не должны использоваться для управления доступом к расположениям файловой системы.

<Directory /home-path>
AuthName Members
AuthType Basic
Require valid-user
AuthUserFile /auth-file-path/.htpasswd
</Directory>

Решение Ruby-on-rails:

before_filter :authenticate

protected

def authenticate
  authenticate_or_request_with_http_basic do |username, password|
    username == "user" && password == "pass"
  end
end