Encaminhar variáveis de ambiente do Shibboleth para o Tomcat via Apache

2

Estou usando o Shibbolethv2.3 com o servidor da web Apache e o servidor de aplicativos Tomcat. Eu estou usando o Apache como um proxy reverso usando mod_proxy.so. Não consigo encaminhar as variáveis de ambiente do Shibboleth do Apache para o Tomcat. Eu sou capaz de encaminhar os atributos nos cabeçalhos, mas como já mencionado no wiki, esta abordagem não é segura. Eu tentei encaminhar as variáveis de ambiente pela seguinte diretiva:

SetEnv AJP_username $ {username}

então, no lado do Java, posso acessar o atributo por: request.getAttribute ("username"); O estranho aqui é que, eu recebo um valor diferente ao invés do estabelecido por Shibboleth. Eu recebo o nome da conta do Windows como resultado. Se eu usar qualquer outro nome de atributo, recebo um valor nulo.

Eu pesquisei muito e fiquei sem opções. Por favor, me guie para a solução certa.

Meus detalhes de configuração:

  1. Versão do Shibboleth: 2.3
  2. SO: Windows XP SP3
  3. Servidor da Web: Apache 2.2
  4. Servidor de aplicativos: Tomcat 6
  5. Módulo proxy: mod_proxy.so
por Deepak Singh Rawat 06.12.2009 / 08:35

1 resposta

2

Verifique se você está fazendo proxy usando o ajp no httpd.conf

ProxyPass /example ajp://example.org/example

E no shibboleth2.xml na seção ApplicationDefaults, precisamos adicionar

attributePrefix="AJP_"

Então parece algo como

<ApplicationDefaults id="default" policyId="default"
    entityID="https://idp.example.org"
    REMOTE_USER="eppn persistent-id targeted-id"
    signing="false" encryption="false" attributePrefix="AJP_">

Confira esta pergunta na lista de discussão do shib: link

    
por 08.12.2010 / 21:04