Есть ли способ поделиться сеансом rails с приложением .net, если мы находимся в одном домене? - PullRequest
1 голос
/ 11 мая 2011

В конечном счете, нам нужен единый вход для двух приложений, одно из которых является приложением rails, а другое .net.

Есть ли способ войти в приложение rails, используя devise и cookie, и попросить .net прочитать этот cookie, чтобы определить, какой пользователь вошел в систему? Мы открыты для смены магазинов сессий, если это поможет.

Мы бы хотели сохранить все аутентификации в Rails, но используем сеанс cookie, чтобы разрешить или запретить доступ к приложению .net.

1 Ответ

1 голос
/ 11 мая 2011

Да, вы определенно можете это сделать.

Если сеанс хранится исключительно в cookie-файлах, все, что вам нужно сделать, - это проанализировать cookie-файлы, как это делает rails. Посмотрите на ActionDispatch::Request::Cookies, чтобы лучше понять, как рельсы используют куки.

Если, с другой стороны, вы сохраняете сеанс в Memcache, Redis, Mysql (или любом другом внешнем хранилище), вы можете получить идентификатор сеанса из файла cookie, а затем найти его во внешнем хранилище. Это, вероятно, проще и немного более СУХОЙ.

Пока у вас есть доступ к сеансовым cookie-файлам, вы должны иметь возможность отражать код манипуляции сеансом Rails в вашем приложении .NET и сеансе «общего доступа». Я рекомендую вам начать с изучения того, как Rails обрабатывает сессию.

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