Página de erro 401 personalizada servida pelo Apache para o firefox por não IE Kerberos Autorização por grupo

1

Minha página de erro personalizada 401 é exibida pelo Apache para o Firefox, não pelo IE.

Estou usando a autenticação do Kerberos e a autorização do grupo ldap.

Basicamente, se um usuário não estiver no grupo adequado, eu gostaria que a página de erro 401 fosse exibida. Isso está funcionando corretamente com o Firefox, mas não o IE.

Além disso, parece que o navegador IE está tentando buscar o recurso duas vezes, ao contrário do firefox, que busca o recurso uma vez e exibe a mensagem de erro adequada.

==> /var/log/httpd/ssl_access_log <==
xxx.xx.xxx.xx - - [20/Oct/2011:11:10:25 -0400] "GET / HTTP/1.1" 401 129

==> /var/log/httpd/ssl_request_log <==
[20/Oct/2011:11:10:25 -0400] xxx.xx.xxx.xx TLSv1 AES128-SHA "GET / HTTP/1.1" 129

==> /var/log/httpd/ssl_access_log <==
xxx.xx.xxx.xx - rballest [20/Oct/2011:11:10:25 -0400] "GET / HTTP/1.1" 401 129

==> /var/log/httpd/ssl_request_log <==
[20/Oct/2011:11:10:25 -0400] xxx.xx.xxx.xx TLSv1 AES128-SHA "GET / HTTP/1.1" 129

Aqui estão as linhas relacionadas no meu httpd conf:

 <Directory "/">
     Order Allow,Deny
     Allow from all

     # http://httpd.apache.org/docs/current/mod/core.html#authtype

     AuthType Kerberos

     KrbServiceName HTTP
     KrbAuthRealms REALM.DOMAIN.COM
     Krb5Keytab /etc/httpd/mykeytab.keytab
     KrbMethodNegotiate on
     #KrbMethodK5Passwd on
     KrbMethodK5Passwd off
     KrbSaveCredentials on

     # This removes the @REALM
     KrbLocalUserMapping on

     #Require valid-user

     # LDAP AUTH
     #AuthType Basic
     AuthBasicProvider ldap
     AuthName "Domain Credentials"


     # this authorizes users with ldap
     #AuthzLDAPAuthoritative on

     # tls  port 636
     # text port 389

     # userPrincipalName will require user to input userid like:
     # [email protected]

     # sAMAccountName will require user to input userid like:
     # username

     AuthLDAPUrl "ldaps://adserver.subdomain.domain.com/CN=Users,DC=subdomain,DC=domain,DC=com?sAMAccountName"

     AuthLDAPBindDN "[email protected]"
     AuthLDAPBindPassword "password"
     AuthLDAPRemoteUserIsDN on
     AuthLDAPGroupAttributeIsDN on

     # require one of the following groups
     Require ldap-group CN=group1,CN=Users,DC=subdomain,DC=domain,DC=com

  </Directory>

  ErrorDocument 401 "<html><h1>Awstats Portal</h1><h2>Sorry, you don't have permission</h2>contact [email protected] for access or information</html>"

EDITAR:

Uma mensagem de erro 401 maior não ajudou, mesmo problema. Eu também desliguei show "amigável mensagens de erro http" no meu navegador IE. Se eu usar apenas autenticação ldap pura, a mesma mensagem de erro 401 aparecerá bem em ambos os navegadores. Quando eu uso kerberos, somente o firefox mostra uma mensagem de erro.

    
por RussellBallestrini 20.10.2011 / 17:19

1 resposta

1

Transforme sua ErrorDocument em uma string mais longa, coloque-a com espaço em branco.

O Internet Explorer ignora as páginas de erro personalizadas menores que 256 ou 512 bytes, dependendo do código que é retornado.

    
por 20.10.2011 / 17:38