Пользовательская страница ошибки 401, обслуживаемая Apache для Firefox, а не IE Kerberos Авторизация группой

Моя пользовательская страница ошибки 401 обслуживается Apache для Firefox, а не IE.

Я использую аутентификацию Kerberos и авторизацию группы ldap.

По сути, если пользователь не входит в соответствующую группу, я бы хотел, чтобы страница ошибки 401 отображалась. Это работает правильно с Firefox, но не IE.

Кроме того, похоже, что браузер IE пытается извлечь ресурс дважды, в отличие от Firefox, который выбирает ресурс один раз и отображает правильное сообщение об ошибке.

==> /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

Вот соответствующие строки в моем 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:
     # username@subdomain.domain.com

     # 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 "bind-id@subdomain.domain.com"
     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 webmaster@domain.com for access or information</html>"

РЕДАКТИРОВАТЬ:

Больше сообщение об ошибке 401 не помогло, та же проблема. Я также отключил показ "дружественных сообщений об ошибках http" в моем браузере IE. Если я использую только аутентификацию ldap, то одно и то же сообщение об ошибке 401 нормально отображается в обоих браузерах. Когда я использую Kerberos только Firefox показывает сообщение об ошибке.

1 ответ

Сделай свой ErrorDocument строка длиннее, дополните ее пробелами.

Internet Explorer игнорирует пользовательские страницы ошибок размером менее 256 или 512 байт, в зависимости от того, какой код возвращается.

Другие вопросы по тегам