Пройдите аутентификацию между PHP и приложением Ruby On Rails - PullRequest
3 голосов
/ 04 мая 2010

У меня есть простое приложение Ruby on rails, которое я хочу интегрировать с существующим сайтом php. Я только хочу, чтобы пользователи, прошедшие проверку подлинности с помощью приложения php, имели доступ к моему приложению Ruby on Rails (оно должно отображаться для пользователя как тот же веб-сайт в том же домене, хотя это может быть другой поддомен, если я выберу к) Какой лучший способ сделать это?

Спасибо за помощь,

Li

Ответы [ 2 ]

3 голосов
/ 04 мая 2010

Самый распространенный способ сохранить пользователя в системе - это сохранить что-то вроде current_user_id:777 в сеансе пользователя. Поэтому самый простой способ - разделить сеанс между приложением Rails и приложением PHP. Затем вы должны использовать то же соглашение для хранения идентификатора вошедшего в систему пользователя.

Способ сделать это - использовать memcached в качестве поддержки сеанса.

Проблемы с этим подходом: вы можете установить / прочитать одну и ту же переменную сеанса в одно и то же время из обоих приложений (но этого можно избежать).

Ссылки:

Хранение ваших php-сессий с использованием memcached

Usind memcache как хранилище сессий рельсов

2 голосов
/ 04 мая 2010

Самый простой способ - использовать куки. В приложении PHP этот cookie устанавливается, и приложение RoR может прочитать его значение.

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

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

...