Вы никогда не будете мочь использовать дайджест-аутентификацию с LDAP, потому что автор обзора затеняет (через MD5) пароль, таким образом, это не может быть по сравнению с ldap паролем.
Можно решить эту проблему при помощи cookie, а не основной автор посмотрите, например, pubcookie http://www.pubcookie.org/ или Apache2:: AuthCookie http://search.cpan.org/~mschout/Apache-AuthCookie-3.15/lib/Apache2/AuthCookie.pm
Действительно, тем не менее, какова проблема с использованием SSL везде? Вы тратите впустую усилие удалить безопасность.
Используйте переписать правило направить все аутентифицируемые страницы к https:. Это произойдет, прежде чем запрос аутентификации происходит. Также потребуйте ssl для всех аутентифицируемых страниц.
Править: Можно использовать, переписывают правила вызвать http: запросы к https: запросы. Это происходит для всех запросов, которые соответствуют шаблону, на котором Вы соответствуете. Это обычно происходило бы, прежде чем аутентификация требования страницы происходит. Это может быть быть в определении каталога или местоположении. Остальная часть сайта будет на http, если не получено доступ использование https. Перепишите условия, довольно гибки как th, что подобрано, и к чему это переписывается.
# Force clients from the Internet to use HTTPS RewriteEngine on RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$ RewriteCond %{HTTPS} !=on RewriteRule .* - [F]
На стороне безопасности Вы требуете ssl. Как аутентификация по паролю это произошло бы перед доступом к странице. Обязательно используйте, удовлетворяют все на Ваших правилах безопасности. Добавить SSLRequireSSL
к условиям для аутентифицируемых областей.
Более подробная информация покрыта Apache SSL HowTo.
Я ответил здесь https://stackoverflow.com/questions/6458398/apache-2-2-redirect-to-ssl-then-do-auth-with-solution- but-is-it-crap / 7822709 # 7822709 , решение, использующее SSLRequireSSL
и ErrorDocument 403
, возвращающее страницу ошибки html 403, содержащую JavaScript, который перезагружает страницу на HTTPS ... лучшее решение, которое я нашел без разделения файла конфигурации на два, один загружается VirtualHost
на порт HTTP, а другой - на порт HTTPS.
Ответ: вы не можете. После того, как пользователь аутентифицируется с помощью базовой аутентификации, его или ее браузер будет отправлять заголовок авторизации с каждым последующим запросом, содержащий его или ее пароль в открытом виде (только в кодировке Base64). Таким образом, единственный способ защитить пароль - это принудительно использовать HTTPS для всего сайта, по крайней мере, после их аутентификации.