единый вход / выход не работает на rubycas-сервере - PullRequest
1 голос
/ 31 мая 2011

я включил enable_single_sign_out: true.

У меня есть два приложения, одно в Rails, другое в Django,

Я хочу, чтобы при входе в одно приложение я просто заходилобновите мое другое приложение, и я бы автоматически вошел в систему.

Сэм, если бы я выделялся из одного приложения, и обновил бы другое приложение, я бы тоже вышел из него.

Как реализовать этот сценарийс rubycas-server.

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

1 Ответ

2 голосов
/ 09 августа 2011

Я не знаю о клиенте Django (документы rubycas-server говорят, что в настоящее время не все клиентские приложения поддерживают единый выход), но чтобы клиент Ruby CAS поддерживал единый выход, необходимо сделать следующее(в клиентском приложении):

  1. Хранилище сеансов Rails должно быть установлено в ActiveRecord: config.action_controller.session_store = :active_record_store

  2. Сервер должен иметь возможностьчитать и писать в RAILS_ROOT / tmp / session.Если вы находитесь в кластерной среде, содержимое этого каталога должно быть общим для всех экземпляров сервера.

  3. Защита от подделки межсайтовых запросов должна быть отключена.В вашем приложении .rb: self.allow_forgery_protection = false.(Вернее, вы можете отключить защиту от подделки только для действий, которые находятся за фильтром CAS.)

Дополнительную информацию можно найти здесь: https://github.com/gunark/rubycas-client#readme

...