[英]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.