На одном из проектов стояла следующая задача:
- Выполнить интеграцию с AD
- Настроить NTLM авторизацию
- Добавить двухфакторную авторизацию для пользователей, находящихся во внешней сети, а для внутренних её исключить.
Из приятных новостей было то, что у заказчика уже была развёрнута система двухфакторной авторизации Multifactor, а именно LDAP-адаптер, который при авторизации запрашивал подтверждение в приложении и, после подтверждения, выполнял авторизацию пользователя.
Если с интеграцией с AD и настройкой NTLM всё достаточно прозрачно (про это написано много статей), то с разделением логики авторизации для внешних и корпоративных пользователей информации заметно меньше.
Решение оказалось довольно простым:
В админке, в качестве основного LDAP сервера, мы задаем подключение к LDAP Adapter

При этом при настройке NTLM мы указываем прямой адрес до сервера AD.
В результате всех описанных действий выше, на данном этапе мы имеем следующее:
- При NTLM-авторизации пользователи будут авторизовываться напрямую через AD.
- При авторизации через сайт будет использоваться LDAP-адаптер.
Теперь остаётся за малым — реализовать принудительный редирект для пользователей корпоративной сети. Для этого необходимо в настройках модуля AD включить NTLM-авторизацию, переадресацию на нее, а также задать диапазон IP-адресов корпоративной сети.

После этих действий задача по разделению двухфакторной авторизации для внутренних и внешних пользователей будет решена.
Важно!
При тестировании двухфакторной авторизации, у вас вероятно возникнет проблема с тем, что пользователю дается очень мало времени на то, чтобы подтвердить свой вход. Чтобы это исправить, вам нужно будет увеличить значение поля Сетевой таймаут в настройках сервера AD в Битрикс
