Devise - выход из одного пространства имен, выход из всех пространств имен - PullRequest
0 голосов
/ 06 января 2020

У моего приложения есть «пользователи» для основного приложения и «admin_users» и пространство имен / admin.

Когда я вошел в пространство имен / admin как admin_user и нажал «выйти» - Devise выводит меня из обоих пространств имен. Как я могу убедиться, что Devise только выводит меня из этого пространства имен?

Routes.rb

  devise_for :users, skip: :all
  as :user do
    get 'signin',        to: 'devise/sessions#new',       as: :new_user_session
    post 'signin',       to: 'devise/sessions#create',    as: :user_session
    delete 'signout',    to: 'devise/sessions#destroy',   as: :destroy_user_session
  end

  devise_for :admins, skip: :all
  as :admin do
    get 'admin/signin',        to: 'admin/devise/sessions#new', as: :new_admin_session
    post 'admin/signin',       to: 'admin/devise/sessions#create', as: :admin_session
    delete 'admin/signout',    to: 'admin/devise/sessions#destroy', as: :destroy_admin_session
  end

  authenticate :admin do
    namespace :admin do
       ...
    end
  end

1 Ответ

1 голос
/ 07 января 2020

набор config.sign_out_all_scopes = false в config/initializers/devise.rb.

  # Set this configuration to false if you want /users/sign_out to sign out
  # only the current scope. By default, Devise signs out all scopes.
  config.sign_out_all_scopes = false
...