Как создать систему глобальных учетных записей для использования в нескольких приложениях? - PullRequest
1 голос
/ 25 августа 2009

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

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

Возможно, разделить систему входа в систему на собственное приложение и аутентифицировать каждое приложение через API?

Любые идеи приветствуются. Спасибо!

Ответы [ 3 ]

4 голосов
/ 25 августа 2009

Даже если вы разделите имя входа в отдельное приложение, у вас все равно будет дублированный код входа в систему, поскольку формы и контроллеры, использующие API, необходимо будет дублировать. Если вы не используете общую библиотеку для инкапсуляции общей функциональности. Тогда вам нужно больше функций, наворотов. Если вы идете по этому пути достаточно долго, вы просто заново внедрите свое собственное квадратное колесо:)

Вместо этого вы можете просто использовать то, что люди уже создали.

Безусловно, самый простой способ - полностью удалить все это и поддерживать только openid. Точно так же, как stackoverflow. В комплекте с некоторым умным генерацией openid-from-provider-and-username (опять же, как stackoverflow) это может вместить почти любого, хотя это потребует немного больше работы (но не так много, правила генерации должны быть очень тривиальными).

Если вам действительно нужна стандартная форма входа для пользователя / пароля и вы просто хотите иметь централизованных пользователей db, вы все равно можете использовать openid за кулисами (см. ruby-openid для реализации клиентской и серверной частей) или просто используйте более простое решение CAS (например, ruby-cas )

2 голосов
/ 25 августа 2009

rubycas-server - это еще одна опция, позволяющая использовать страницу с единым знаком, которая будет проверять подлинность пользователей в нескольких приложениях.

1 голос
/ 25 августа 2009

Лучше всего использовать проверенную систему аутентификации, такую ​​как LDAP. Вы можете использовать Authlogic в качестве базовой системы аутентификации с плагином Authlogic LDAP Addon .

Если вам нужен пример того, как работает Authlogic, вы можете увидеть один здесь .

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