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

базовая аутентификация apache - как отключить на компьютере разработчика

Я отключаю доступ к некоторым папкам неавторизованным пользователям следующим образом:

AuthUserFile /var/www/passwords/.htpasswd_private
AuthType Basic
AuthName "Access to private admin section"
Require valid-user

Он отлично работает на производственном сервере (Ubuntu). Проблема в том, что я хочу, чтобы тот же код разрешал доступ (или, по крайней мере, запрашивал пароль) на компьютере под управлением Windows.

Пытался добавить

Allow from 127.0.0.1

Но журналы показывают ошибку, потому что он не может найти файл паролей на компьютере разработчика. Система не может найти указанный путь. : Не удалось открыть файл паролей: C: /var/www/passwords/.htpasswd_private

Каким элегантным способом сообщить apache разрешить доступ или запросить пароль на компьютере разработчика?

Создать каталог C:/var/www/passwords/.htpasswd_private а затем используйте htpasswd.exe программа, поставляемая с вашей установкой apache, чтобы создать .htpasswd_private файл

htpasswd -c C:/var/www/passwords/.htpasswd_private username
Automatically using MD5 Format
New password: *********
Re-type password: *********
Adding password for user username

Теперь у вас должна быть система, работающая как ваш рабочий сервер.

Разрешить от не означает, что вы можете просто войти без пароля, он просто устанавливает, какие хосты могут получить к нему доступ. Он по-прежнему будет запрашивать пароль.

У вас есть два варианта:

  1. Создайте действительный файл .htpasswd_private в C:/var/www/passwords/.htpasswd_private
  2. Вы удаляете эти параметры в объявлении каталога:

    AuthUserFile /var/www/passwords/.htpasswd_private

    AuthType Basic

    AuthName "Доступ к приватной админке"

    Требовать действительного пользователя

И вы просто оставляете инструкцию Allow from 127.0.0.1.

У меня была двойная аутентификация htpasswd + LDAP AuthBasicProvider file ldap как показано ниже: AuthType Basic AuthName "MyApp"

AuthBasicProvider file ldap

AuthUserFile /var/www/domain.tld/myapp/.htpasswd

# LDAP
AuthzLDAPAuthoritative off
AuthLDAPURL "ldaps://ldap.domain.tld:636/dc=domain,dc=tld?uid?sub?(&(objectClass=person)(mail=*@domain.tld))" SSL
AuthLDAPBindDN "CN=myapp,OU=Applications,DC=domain,DC=tld"
AuthLDAPBindPassword "xxxxxxxxxx"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off

Require valid-user

Кажется, достаточно удалить / прокомментировать только следующие директивы:

  • AuthUserFile
  • AuthzLDAPAuthoritative
  • Require