Возможно ли, чтобы веб-приложение rails использовало функции аутентификации Windows в своем коде. Я ищу возможность получить имя пользователя и домен в приложении. Но есть загвоздка.
Это конкретное веб-приложение запускается на веб-сервере apache, размещенном на машине Linux, которая как бы подключена к сети с другими машинами Windows.
Возможно ли все это?
Ты можешь использовать mod_auth_sspi
с Apache для включения аутентификации NTLM (посмотрите этот пост).
Другой способ сделать это с помощью обычной проверки подлинности - использовать mod_authnz_ldap
для включения аутентификации LDAP (базовая аутентификация) в Apache, которая позволит ему взаимодействовать с Active Directory для аутентификации.
Если вы используете Apache, то да, вы сможете этого добиться. Во-первых, перенесите каталог, в котором находится ваше приложение Rails, с помощью Apache, используя LDAP / Kerberos (также известный как Active Directory) - эта ссылка описывает, что вам нужно делать.
После того, как вы закончите с этим, в вашем приложении Rails имя участника Kerberos, который вошел в систему, должно быть доступно в среде REMOTE_USER.