Eu implementei uma autenticação SSO usando mod_auth_kerb no Apache. Minha configuração fica assim:
<Location /login/ >
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbAuthoritative on
KrbVerifyKDC on
KrbAuthRealm D.ETHZ.CH
Krb5Keytab /etc/HTTP.keytab
KrbSaveCredentials on
RequestHeader set KERBEROS_USER %{REMOTE_USER}s
</Location>
Meu problema é que, sem require valid-user
, o mod_auth_kerb nem tenta autenticar o usuário e KERBEROS_USER
acaba sendo (null)
. Se eu adicionar require valid-user
, o usuário será autenticado automaticamente se o navegador suportar, mas será mostrado um formulário de login modal feio (ala HTTP Basic Auth) se o navegador não suportar o Kerberos Negotiate.
O que eu quero alcançar é que, se um usuário visita /login/
, o mod_auth_kerb tenta autenticar o usuário através do Kerberos Negotiate. Se isso falhar, um formulário de login HTML normal será apresentado ao usuário.
É possível configurar o Apache / mod_auth_kerb dessa maneira?