Есть ли способ получить пароль из заголовка авторизации HTTP в конфигурации Apache2? - PullRequest
1 голос
/ 03 июня 2011

Я обнаружил, что могу получить доступ к заголовку HTTP-авторизации с помощью следующего кода

RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

К сожалению, я не понимаю, как декодировать его из base64, а затем разделить имя пользователя и пароль.

Конечно, это очень легко сделать вне конфигурации apache, но мне нужно имя пользователя и пароль внутри конфигурации, чтобы передать их в модуль авторизации LDAP.

На самом деле я хочу сделать что-то вроде этого:

<Directory "C:/my/directory">
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all

    AuthType Basic
    AuthName "Trac"
    AuthBasicProvider "ldap"
    AuthLDAPURL "ldap://domain.local:3268/DC=domain,DC=local?sAMAccountName?sub?> (objectClass=user)"
    AuthLDAPBindDN       %{HTTP_USER}@domain.local
    AuthLDAPBindPassword %{HTTP_PASSWORD}

    AuthzLDAPAuthoritative off

    Require valid-user
</Directory>

Мне это нужно, потому что наш сервер LDAP не принимает анонимные запросы.

1 Ответ

0 голосов
/ 06 июня 2012

По сути, вы должны создать выделенного пользователя LDAP для авторизации.

Относится к заголовку HTTP_AUTHORIZATION, проверьте RFC2617 http://www.ietf.org/rfc/rfc2617.txt

Это зависит от того, какую схему аутентификации вы используете. Из базовой схемы вы можете декодировать USERNAME и PASSWORD, но из других, возможно, это невозможно (NTLM).

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