Апачская аутентификация: надежно перенаправить при сбое? - PullRequest
8 голосов
/ 13 ноября 2009

Я установил свой ErrorDocument 401 так, чтобы он указывал на страницу создания учетной записи моего веб-сайта, но, похоже, не все браузеры поддерживают это перенаправление (Safari).

Кроме того, другие браузеры (Firefox, Chrome) никогда не прекращают запрашивать пароль и показывают ErrorDocument. Это приводит к тому, что большое количество пользователей прекращают попытки после множества попыток ввода пароля, не видя страницы создания учетной записи.

Есть ли способ сделать перенаправление более надежным, не разрушая при этом базовую аутентификацию?

Ответы [ 2 ]

16 голосов
/ 07 мая 2010

Простой ответ на ваш вопрос - нет, вы не можете сделать это более надежным, не внедрив пользовательскую аутентификацию.

Единственный способ, которым Firefox и Chrome отобразят страницу, указанную вами в директиве ErrorDocument 401, - это нажать кнопку «Отмена». Также нет перенаправления, отправленного с кодом 401 HTTP; скорее это содержимое документа, указанного в директиве ErrorDocument 401. Вы можете сделать перенаправление, используя метатег HTML:

<Location "/protected">
    AuthUserFile /path/to/users
    AuthName "This is protected area"
    AuthGroupFile /dev/null
    AuthType Basic
    Require valid-user

    #ErrorDocument 401 /register.html
    ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/register.html\"></html>"
</Location>

Возможные решения вашей проблемы - создать пользовательский базовый модуль HTTP-аутентификации или использовать такой язык, как php, который поддерживает базовые хуки HTTP-аутентификации

http://php.net/manual/en/features.http-auth.php

0 голосов
/ 13 ноября 2009

Я подозреваю, что ваши пользователи firefox и safari не входят в домен до имени пользователя, т.е. MYDOMAIN \ USERNAME. В Firefox есть некоторые настройки, которые разрешают сквозную аутентификацию; Я не знаю о сафари.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...