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

Каталог защиты паролем с Apache: «не удалось проверить пользователя. Проверьте своего провайдера аутентификации! »

Я пытаюсь защитить паролем веб-каталог с помощью apache. У меня сайт настроен так:

D:/
   webapp/
      lib/
         .htpasswd
   document_root/
      admin/
         index.php
         .htaccess

В .htaccess имеет:

AuthName "Authorization Required" 
AuthType Basic 
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

И .htpasswd имеет:

user:passworddigest

Когда я пытаюсь получить доступ localhost/index.php в браузере выдает ошибку 500. Журнал ошибок apache имеет следующее:

["date"] [crit] [client "ip"] configuration error:  couldn't check user.  Check your authn provider!: /admin/

Я погуглил, но не могу понять, что означает эта ошибка в контексте моего сервера. Кто-нибудь знает, что случилось? Кроме того, это решило бы мою проблему, если бы у кого-то был простой метод использования apache для аутентификации веб-каталога на сервере Windows.

Если это не проблема с разрешениями, как предложил Джим Б. (я также подозреваю, что), возможно, вы не загрузили модуль authn в Apache - mod_authn. Я не знаю, как это сделать в Windows, но уверен, что если вы погуглите, вы узнаете, как это делается.

Я не делал этого в Windows, но попытаюсь включить модуль auth_digest в вашем файле httpd.conf, раскомментировав эту строку в нем, если она закомментирована. Я знаю, что по умолчанию он отключен:

LoadModule auth_digest_module modules/mod_auth_digest.so

Я думаю, у вас неправильный тип авторизации (AuthType Basic) в вашем .htaccess, глядя на ваш .htpasswd он говорит мне, что пароль установлен htdigest и не htpasswd (поправьте меня, если я ошибаюсь) и, следовательно, ошибка конфигурации.

Чтобы решить эту проблему, попробуйте следующее .htaccess информация и проблема должна исчезнуть:

AuthName "Authorization Required" 
AuthType Digest
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

Но я бы посоветовал вам использовать описанный выше метод, поскольку password is transmitted inДайджест MD5in the network whereasAuthType Basic` передает пароль чистым текстом.

Но если вы настаиваете на том, чтобы AuthType Basic затем попробуйте следующее .htaccess:

AuthName "Authorization Required" 
AuthType Basic
AuthUserFile D:\webapp\lib\.htpasswd
require valid-user

& создайте htpassword по следующей ссылке:

http://www.htaccesstools.com/htpasswd-generator/

и обнови свой .htpasswd файл.