Devise-注销一个命名空间,注销所有命名空间

问题描述 投票:0回答:1

我的应用程序具有主应用程序的“用户”,“ admin_users”和/ admin命名空间。

[当我以admin_user身份登录/ admin命名空间,然后单击“注销”时-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
ruby-on-rails ruby authentication devise ruby-on-rails-5
1个回答
1
投票

set 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
© www.soinside.com 2019 - 2024. All rights reserved.