У меня есть сайт, настроенный для аутентификации пользователей с использованием NTLM в Apache в Linux с использованием модуля Perl Apache2 :: AuthenNTLM. Это отлично работает, когда мне требуется аутентификация, но я хочу, чтобы это обошло встроенный вход на веб-сайт, когда пользователь может аутентифицироваться с помощью NTLM, и позволить им использовать обычный вход в систему, если они не могут. Если пользователи не знают свой статус, я думаю, мне нужно сделать NTLM-аутентификацию необязательной, чтобы она обнаруживалась для пользователей, у которых она есть, а все остальные видели сайт как обычно. Я закомментировал «требуется действительный пользователь», но теперь проверка подлинности NTLM вообще не используется. Есть ли способ включить его, не показывая ничего пользователям, не прошедшим аутентификацию?
Это текущий htaccess:
PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm
AuthName NTLMTest
#require valid-user
PerlAddVar ntdomain "DOMAIN ADMIN ADMIN2"
PerlSetVar defaultdomain DOMAIN
PerlSetVar splitdomainprefix 1
PerlSetVar ntlmdebug 0
PerlSetVar ntlmauthoritative off
Распространенным шаблоном (используемым Moodle) является наличие одной второй страницы, требующей проверки подлинности NTLM, и наличие первой страницы, которая решает, следует ли направлять вас на эту вторую страницу (на основе вашего диапазона IP-адресов, агента пользователя и т. Д.).
У меня были те же требования к моим веб-сайтам в интрасети, и я создал образец решения на основе ответ crb для Apache с NTLM и PHP: Дополнительная проверка подлинности NTLM для веб-сайта на Apache с PHP