ruby-on-rails - Ruby on Rails 基于角色的身份验证系统,如何使用不同的角色?

标签 ruby-on-rails ruby devise

我正在使用 Rails 4.1。我有 3 种类型的用户,Admin、Leader、Worker,每种都有自己的页面。 我已经为该角色选择了一个 devise+pundit,但不知道如何将用户发送到不同的路径。例如,我如何在 sign_in 后将管理员带到管理员部分,将领导者带到领导者的部分,我可以限制对某些 View 的访问吗?

是否有任何其他 Gem 对解决此问题有帮助?

最佳答案

对 gem 一无所知。但是这样的事情应该有效:

class HomeController < ApplicationController
  def after_sign_in_path_for(resource)
    if current_user.admin?
      redirect_to admin_path
    elsif current_user.leader?
      redirect_to leader_path
    else
      redirect_to worker_path
  end
end

after_sign_in_path_fora callback in Devise .

关于ruby-on-rails - Ruby on Rails 基于角色的身份验证系统,如何使用不同的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122772/

相关文章:

ruby-on-rails - 设计-bypass_sign_in 没有active_for_authentication?打回来

ruby-on-rails - Windows 替代 zeus 和 spring for rails

mysql - 我可以加入没有关联的表吗? ( rails/SQL)

ruby-on-rails - RVM 安装 Rubies 失败

ruby-on-rails - rbenv : bundle: command not found on production server

Ruby:来自不存在的网站的 HTTP.get_response

ruby - rbenv gem安装路径错误-找不到gem

ruby 浮点错误

ruby-on-rails - 为什么 Devise + Omniauth 回调没有命中正确的 Controller ?

ruby-on-rails - 如何创建 Controller 和 View 以使用 Devise gem 作为身份验证机制来显示用户的个人资料?