obtém o usuário autenticado sob o apache

5

Usando o Apache 2.2 no Windows com mod_auth_sspi e mod_headers. Estou tentando passar o usuário autenticado atual para o destino do proxy no cabeçalho X-Remote-User.

Espero que isso seja simples, mas há uma hora que eu luto com o Apache e não consigo encontrar o molho secreto na documentação ou no google.

Minha configuração é a seguinte. Ele autentica corretamente o usuário com o Active Directory e, em seguida, envia a solicitação por meio de proxy para o servidor que fica atrás. No entanto, o cabeçalho X-Remote-User não é adicionado. Parece que a variável de ambiente REMOTE_USER não existe. Nem o AUTH_USER.

Eu sei que o nome de usuário autenticado está disponível em algum lugar, mas como faço para obtê-lo?

ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/

<Location /clsoap/>
    ProxyPassReverse /clsoap/

    AuthName "ADTest"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain primary.example.com
    SSPIUsernameCase lower
    SSPIOfferBasic Off
    Require valid-user

    RequestHeader set X-Remote-User "%{REMOTE_USER}e" env=REMOTE_USER
    RequestHeader set X-Auth-User "%{AUTH_USER}e" env=AUTH_USER
</Location>
    
por brofield 30.11.2010 / 09:35

2 respostas

6

Yay. Outra sessão do Google mais tarde tentando diferentes palavras-chave aleatórias e eu encontrei isto:

link

link

Isso agora funciona:

ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/

<Location /clsoap/>
    ProxyPassReverse /clsoap/

    AuthName "ADTest"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain primary.example.com
    SSPIUsernameCase lower
    SSPIOfferBasic Off
    Require valid-user

    RewriteEngine On
    RewriteCond %{LA-U:REMOTE_USER} (.+)
    RewriteRule . - [E=RU:%1]
    RequestHeader set X-Remote-User "%{RU}e" env=RU
</Location>
    
por 30.11.2010 / 10:01
2

Eu sei que este é um post antigo, mas como os usuários ainda acertam isso, pensei em acrescentar que existe uma grande diferença em quais variáveis estão disponíveis no ambiente ssl "% {VAR} s" versus o ambiente não ssl% {VAR} e

Eu descobri que o pubcookie definia o usuário remoto apenas como uma variável de ambiente segura que eu poderia encaminhar através do seguinte:

    RequestHeader set X-REMOTE-USER %{REMOTE_USER}s

NOTA: termina em s não em e!

Agora, isso pode ser uma brecha de segurança que vaza informações de nome de usuário para hackers se você encaminhar solicitações para outros servidores ou usar http. Eu só envio para localhost pessoalmente, então isso não é um problema para mim.

    
por 02.09.2015 / 23:05