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

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

Eu tenho um aplicativo executado no 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 contém um sublinhado ( X-CAS-email_primary). Depois de fazer algumas pesquisas, adicionei o trecho 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 fosse óbvio, estou tentando mudar X-CAS-email_primarypara 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_primaryestá definido, então não tenho certeza do que está acontecendo. Alguma sugestão?

Obrigado!

Responder1

O valor de RequestHeader setexpressões de suporte, e as expressões incluem a função req(ou http), que fornece o valor dos cabeçalhos de solicitação. Portanto, esta diretiva deve fazer o que você deseja:

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

Você tem que cavar fundo nodocumentaçãopara encontrar esse tipo de coisa, mas está lá.

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

informação relacionada