Alterar sublinhado para traço no cabeçalho do Apache

3

Eu tenho um aplicativo que roda atrás do Apache 2.4.27 que autentica usuários com mod_auth_cas. Este módulo armazena atributos sobre o usuário autenticado em cabeçalhos. Estou tendo problemas com um cabeçalho que está sendo removido porque ele tem um sublinhado ( X-CAS-email_primary ). Depois de fazer algumas pesquisas, adicionei o snippet de código abaixo à configuração do VirtualHost.

SetEnvIfNoCase X-CAS-email_primary ^(.*)$ fix_header=$1
RequestHeader set X-CAS-email-primary %{fix_header}e env=fix_header

Caso não seja óbvio, estou tentando alterar X-CAS-email_primary para X-CAS-email-primary . Este código está funcionando parcialmente. O novo cabeçalho aparece, mas não tem valor.

["HTTP_X_CAS_EMAIL_PRIMARY"]=> string(0) ""

Confirmei que X-CAS-email_primary está definido, por isso não tenho a certeza do que está a acontecer. Alguma sugestão?

Obrigado!

    
por Ross 08.03.2018 / 22:23

1 resposta

1

O valor de RequestHeader set suporta expressões e as expressões incluem a função req (ou http ), que fornece o valor dos cabeçalhos de solicitação. Então, essa diretiva deve fazer o que você quer:

RequestHeader set X-CAS-email-primary "expr=%{req:X-CAS-email_primary}"

Você precisa mergulhar fundo na documentação para encontrar esse tipo de coisa, mas está aí.

Não sei por que sua configuração não funcionou, mas acho que o SetEnvIfNoCase é avaliado após o RequestHeader. Os documentos não facilitam descobrir isso.

    
por 08.03.2018 / 23:11