Como aceitar várias opções de autenticação no Apache?

7

Eu quero proteger um caminho no meu VirtualHost, mas permitir aos usuários uma variedade de opções de autenticação (por exemplo, mod-auth-cas , mod-auth-openid e mod-auth-digest .) Como configuro a definição do host virtual para permitir vários auth-type s para o mesmo local?

    
por James A. Rosen 26.09.2009 / 06:05

3 respostas

5

O problema com vários tipos de autenticação é que eles tendem a ter protocolos irreconciliáveis. Você pode tentar a técnica mostrada na documentação do Shibboleth , onde você coloca tudo em um subdiretório, criar um link simbólico para esse diretório para cada tipo de autenticação que você deseja suportar, configure cada local de ligação simbólica para um tipo de autenticação diferente.

<Location /basic>
    AuthType Basic
    AuthUserFile /path/to/.htpasswd
    require valid-user
</Location>
<Location /cas>
    AuthType CAS
    require valid-user
</Location>
<Location /openid>
    AuthOpenIDEnabled On
    require valid-user
</Location>
    
por 27.09.2009 / 10:15
4

eu tive quase a mesma situação, resolvida da seguinte forma:

no nível de configuração do servidor, no apache2.conf (assumindo distribuições baseadas no Debian)

<AuthnProviderAlias method1 auth1_name  >
# config options
# ...
</AuthnProviderAlias>

<AuthnProviderAlias method2 auth2_name  >
# config options
# ...
</AuthnProviderAlias>

no arquivo conf específico do Host Virtual:

<VirtualHost *>
# config options
# ...

<Location /your_location>
# config options
AuthBasicProvider auth1_name auth2_name
# other needed config options
# ...
</Location>
</VirtualHost>

desta forma você pode usar diferentes métodos de autorização / autenticação com nomes diferentes na mesma diretiva Location para diferentes VirtualHosts

mais detalhes da minha solução em uma postagem curta no blog: texto do link

HTH, ciao :) Gianluca

    
por 01.10.2009 / 23:56
2

Você já tentou " Satisfazer Qualquer "?

    
por 27.09.2009 / 01:49