Аутентификация Kerberos в Rails - PullRequest
       10

Аутентификация Kerberos в Rails

7 голосов
/ 05 февраля 2010

Можно ли использовать kerberos для аутентификации пользователя под rails? Существуют ли какие-либо плагины (предпочтительно расширяющие функциональность authlogic) для этого?

Ответы [ 2 ]

6 голосов
/ 06 февраля 2010

Я надеюсь, что кто-нибудь еще придет и покажет нам чистый Rails способ сделать это. Но до тех пор самый простой способ добиться успеха - это позволить вашему веб-серверу справиться с этим.

На этой ноте я собираюсь предположить, что Apache. Если это не так, пожалуйста, расскажите нам немного больше о вашей настройке.


Правильная аутентификация Kerberos в браузерах выполняется в самом протоколе HTTP, очень похоже на Обычная или дайджест-аутентификация . В Apache это можно сделать с помощью mod_kerb_auth .

Тогда следующий шаг - выяснить, как получить имя пользователя. Это немного зависит от интерфейса, который вы используете между веб-сервером и вашим Rails-приложением. Это может быть Passenger, FastCGI, mod_proxy и т. Д.

Многие в некоторой степени будут следовать исходному CGI-стандарту , передавая множество переменных среды вместе с запросом. Попробуйте следующее в вашем контроллере:

username = request.env['REMOTE_USER']

Это насколько я могу тебя взять. Я никогда не использовал authlogic. Хотя, судя по всему, он поддерживает плагины. Возможно, вы можете создать новый, который слепо доверяет REMOTE_USER, если он установлен?

1 голос
/ 27 августа 2012

Если вы хотите переключиться с authlogic на Omniauth для вашей аутентификации, есть модуль для него:

https://github.com/jgraichen/omniauth-kerberos

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...