Разработать отдельный выход для двух разных моделей - PullRequest
8 голосов
/ 21 марта 2012

У меня есть две модели User и Admin (с RailsAdmin), которые используют Devise.Я вхожу как пользователь, а затем как администратор.Но результатом выхода из одной из этих моделей является выход из двух моделей одновременно.Как я могу это исправить?Пожалуйста, помогите:)

Ответы [ 2 ]

23 голосов
/ 24 марта 2012

Проблема была в одной строке в config / initializers / devise.rb:

  • По умолчанию:

    # Настроить поведение выхода из системы.
    # Действие Sign_out может быть ограничено (т. Е. / Users / sign_out влияет только на область пользователя).
    # По умолчанию установлено значение true, что означает, что любое действие по выходу из системы будет выходить из всех активных областей.
    # config.sign_out_all_scopes = true

  • Необходимость:

    config.sign_out_all_scopes = false

0 голосов
/ 22 марта 2012

В сферу применения Devise входит все приложение - вы входите на сайт, а не модель.Возможно, вы захотите добавить различие ролей - у пользователя может быть одна или несколько ролей, которые предоставляют ему определенные привилегии.Devise просто получает аутентифицированного пользователя.Рассмотрим гем, такой как CanCan , который поддерживает «авторизацию на основе ролей».

...