2011-01-12 2 views
0

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

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

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

Джо записывает в сервер 1

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

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

Фред регистрирует только в сервер 2

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

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

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

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

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

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

Благодарим всех за помощь.

+0

Вы можете исследовать с помощью DB сессионного магазина, или, возможно, с помощью Memcached сеанса магазина, если это кажется слишком жестким. Ваш вопрос кажется открытым, так какова ваша цель? Когда вы говорите «сервер», вы имеете в виду «сайт»? – tadman

+0

Думаю, я действительно не дал понять, что мне нужно. Я уточню вопрос с тем, что требуется. Когда я говорю сервер, я имею в виду Linux-модуль, в котором работают apache и mysql, и несколько приложений. –

ответ

1

Возможно, вам действительно нужна центральная служба проверки подлинности (CAS) - что позволит включить Single Sign On (SSO).

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

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

Тогда:

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

OAuth как это работает (более упрощенно)

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

+0

Мы очень сельские, и интернет не является надежным. Что делать, если casserver не работает? server2 не может аутентифицироваться. Также кажется, что вы предлагаете какой-то токен аутентификации, который генерируется casserver, как server2 знает, что это должно быть? Спасибо за ваши предложения, но я не думаю, что они будут работать в этом случае. –

+0

6 месяцев спустя, и это решение, с которым я иду. Полагаю, мне просто нужно было больше узнать о cas, прежде чем я смогу понять, что вы имели в виду. –

 Смежные вопросы

  • Нет связанных вопросов^_^