简体   繁体   English

使用Rails中的dev的自定义会话控制器

[英]Custom sessions controller using devise in rails

I have a user model which has admin and manager role column (using devise), need to have different sign in page for admins and manager 我有一个具有管理员和管理员角色列(使用devise)的用户模型,需要为管理员和管理员使用不同的登录页面

devise_for :users, controllers: {
    sessions: 'users/sessions'
  }

as :user do
    namespace :admins do
      get 'sign_in', to: 'sessions#new'
      post 'sign_in', to: 'sessions#create'
    end
  end

for admin role it has access the Admins::SessionsController controller and for manager it has to access Users::SessionsController, how can I specify that in routes without using devise_for ? 对于管理员角色,它具有访问Admins :: SessionsController控制器的权限;对于管理者,它具有访问Users :: SessionsController的权限,如何在不使用devise_for的路由中指定它?

You need different scopes for user and admin. 您需要用户和管理员使用不同的范围。

devise_for :users, skip: :all
devise_scope :user do
  # custom routes here
end
devise_scope :admin do
  # custom routes here
end

Note that the resource is plural for devise_for but singular for devise_scope . 请注意,资源对于devise_for是复数的,而对于devise_scope是单数的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM