как установить заголовок запроса на apache на основе другого пользователя для имитации входа в систему LDAP для обратного прокси - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу установить настраиваемый заголовок запроса на обратном прокси-сервере, который будет имитировать вход в систему LDAP

Вот что я имею, когда LDAP включен и работает

AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldaps.internal.domain.com/OU=ServiceAccounts,OU=Administration,OU=VF-Group,DC=internal,DC=domain,DC=com?sAMAccountName,userPrincipalName?sub?(objectClass=*)"

AuthLDAPInitialBindAsUser on
AuthLDAPInitialBindPattern (.+) vf-root\\\\$1
AuthName secure
Require valid-user

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

Например, если я войду в систему как пользователь TOM, я хочу, чтобы заголовок электронной почты был установлен как TOM@mail.com, если это был пользователь SECURITY, я хочу, чтобы адрес электронной почты был установлен как security@mail.com. Я также могу иметь другие заголовки, такие как заголовок идентификатора, которые могут отличаться для разных пользователей, поэтому TOM будет иметь идентификатор заголовка 3, а SECURITY будет иметь идентификатор заголовка 5

У меня сейчас

    <LocationMatch "^/basic">

    <Limit OPTIONS>
        Require all granted
    </Limit>

    <LimitExcept GET POST>
        Require all denied
    </LimitExcept>

Authtype Basic
Authname "Password Required"
AuthUserFile /opt/SP/apache-2.4/conf/ccp-test-alpha/.htpasswd
Require valid-user


RewriteEngine On
RewriteCond %{REMOTE_USER} ^(.*)$
RewriteRule ^(.*)$ - [E=R_U:%1]
RequestHeader set CTVFNTUSERNAME %{R_U}e
RequestHeader set CTVFNTDOMAIN "vf-root"
RequestHeader set CTVFPORTALID "%{R_U}e@domain.com"

</LocationMatch>

i хотите иметь возможность выбрать предопределенное значение для CTVFNTDOMAIN и CTVFPORTALID где-нибудь

...