синхронизировать постоянство_кокен между базами данных - PullRequest
0 голосов
/ 12 января 2011

Я пытаюсь выяснить, как синхронизировать токены аутентификации на серверах.

У меня 4 сервера, и у меня много приложений на всех 4, аутентификация работает для всех приложений на одном сервере.Я даже могу заставить их работать на разных серверах, если скопирую токен персистентности с одного на другой 3.

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

Джо входит на сервер 1

Джо также входит на сервер 2

Джейн только входит на сервер 1

Фред только входит на сервер 2

Мне потребуется двухсторонняя синхронизация с каждого из серверов.Мне все равно, какой токен постоянства они получают, если они все одинаковые.

Это также использует LDAP для аутентификации в случае, если это имеет значение.

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

Редактировать

Чтобы обновить это, я не могу удалить аутентификацию LDAP.У меня действительно нет желания заменить authlogic.Я думал о чем-то вроде задачи rake или сценария оболочки для обработки синхронизации.

У меня все в порядке с моей собственной идеей, просто хочу посмотреть, знает ли кто-нибудь лучший способ.

Спасибо всем за любую помощь.

1 Ответ

1 голос
/ 12 января 2011

Возможно, вы действительно ищете центральную службу аутентификации (CAS), которая позволит использовать единый вход (SSO).

Это позволяет вам входить в различные службы.Он будет работать примерно так:

  • Пользовательские запросы http://server1
  • server1 проверяет, аутентифицирован ли пользователь в локальном хранилище.Если нет:
  • server1 перенаправляет пользователя на что-то вроде http://casserver? Return = server1
  • casserver фактически получает имя пользователя / пароль или учетные данные, аутентифицирует их и:
  • casserver перенаправляет на http://server1

Затем:

Таким образом, пользователь не вводит учетные данные более одного раза.

OAuth работает следующим образом (упрощенно)

Люди использовали CAS на основе java.Некоторые сообщения:

...