apache2.2 с модулем единого входа mod_auth_kerb: как перейти к тому же каталогу, когда пользователь не может пройти аутентификацию

Я внедряю CMS интрасети (Joomla 2.5) в многодоменной среде, регистрируя их с помощью Kerberos для Windows AD -> SSO. SSO с Kerberos идеально подходит для интегрированных доменов, а также SSO для CMS. Моя проблема: около 10% наших пользователей не принадлежат ни к какому домену (в основном для продажи...), поэтому им не удается пройти проверку подлинности с помощью Kerberos в Windows AD. Но мы хотим предоставить доступ к интрасети и этим пользователям, даже если они не могут войти в CMS. мой вопрос: есть ли способ перенаправить этих пользователей в каталог CMS в качестве запасного варианта?

мой конфиг apache до сих пор:

<VirtualHost *:80>
    ServerAdmin someone@mydomain.com
    ServerName  intranet.company.local

    DocumentRoot /opt/joomla/jupgrade

    <Directory /opt/joomla/jupgrade>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

        AuthType Kerberos
        AuthName "Intranet Login"
        KrbMethodNegotiate On
        KrbMethodK5Passwd Off
        KrbAuthRealms DOMAIN1 DOMAIN2 DOMAIN3 DOMAIN4 DOMAIN5
        KrbServiceName HTTP
        Krb5KeyTab /etc/apache2/kerberos_myserver_combined.keytab
        require valid-user

        #ErrorDocument 401 /noauth/401.hmtl
    </Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Невозможно объединить этих пользователей в один из доменов. Существует проект для решения с одним доменом, но это займет некоторое время. Ubuntu 12.04 и Apache 2.2 в качестве среды веб-сервера.

Заранее спасибо за любые предложения!

2 ответа

После дополнительного поиска и ошибки 'n' я думаю, что лучший совет для решения здесь: https://stackoverflow.com/questions/1726860/apache-authentication-redirect-on-failure-reliably

Похоже, что с более высокими версиями Apache есть больше возможностей поймать 401.

Вы можете использовать пользовательский ответ об ошибке, чтобы перенаправить не авторизованных пользователей на другой URL или в другой каталог:

ErrorDocument 401 http://intranet.com/
ErrorDocument 401 /intranet.com/login.html
Другие вопросы по тегам