Действительно ли возможно использовать kerberos для аутентификации пользователя под направляющими? Есть ли какие-либо существующие плагины (предпочтительно, которые расширяют функциональность authlogic) сделать это?
Я надеюсь, что кто-то еще придет и покажет нам, как это можно сделать на чистом Rails. Но до тех пор самый простой способ добиться успеха - позволить вашему веб-серверу справиться с этим.
В этой связи я предполагаю, что Apache. Если это не так, расскажите нам немного подробнее о вашей настройке.
Правильная аутентификация Kerberos в браузерах выполняется в самом протоколе HTTP, во многом как Базовая или дайджест-аутентификация . В Apache это можно сделать с помощью mod_kerb_auth .
Следующий шаг - узнать, как получить имя пользователя. Это немного зависит от интерфейса, который вы используете между веб-сервером и вашим приложением Rails. Это может быть Passenger, FastCGI, mod_proxy и т. Д.
Многие в некоторой степени будут следовать исходному стандарту CGI , передавая кучу переменных среды вместе с запросом. Попробуйте сделать следующее на своем контроллере:
username = request.env['REMOTE_USER']
Это все, что я могу вам сказать. Никогда не использовал authlogic. Хотя, судя по всему, он поддерживает плагины.Возможно, вы можете создать новый, который слепо доверяет REMOTE_USER
, если он установлен?