RAILS / DEVISE - настройка cookie-файла devise для разных поддоменов - PullRequest
9 голосов
/ 28 января 2011

Я использую devise для аутентификации и хочу, чтобы следующее работало:

  1. Пользователь входит в систему по адресу [http://mydomain.com].
  2. Пользователь производит платеж по адресу [https://secure.mydomain.com]
  3. Пользователь возвращается к [http://mydomain.com/action] для продолжения использования системы

Я следую этому уроку: http://clearcove.ca/blog/2010/11/how-to-secure-a-rails-app-on-heroku-with-ssl-firesheep/

, но нахожусь в той части, гдеМне нужно заставить Devise делать то, что здесь делает authlogic.Помогите!!;)

Ответы [ 2 ]

21 голосов
/ 21 марта 2011

Возможно, я немного опоздал, но для тех, кто смотрит в будущее, это довольно простое решение. Добавьте это в файл конфигурации вашей среды:

Rails3App::Application.config.session_store :cookie_store, :key => '_rails3_app_session', :domain => :all
# change "Rails3App" to the name of your rails app.

Важной частью этого является: domain =>: all, так как это указывает Rails также разрешать субдомены. Другие предложили использовать: domain => ".mydomain.com", но: domain =>: все выполняет свою работу и не требует, чтобы вы указали свое доменное имя.

Примечание: если это не сработает при перезапуске сервера, возможно, в вашей папке initializer / есть файл session_store.rb, который переопределяет его. Просто измените строку в этом файле или удалите этот файл и переместите его в свою конфигурацию.

Кроме того, мне пришлось специально поместить строку в мой файл production.rb, поскольку изменение его в файле session_store.rb прервало мои сеансы разработки (с использованием IP-адреса).

7 голосов
/ 11 сентября 2012

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

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