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