ruby-on-rails – Devise before_filter authenticate_admin?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Devise before_filter authenticate_admin?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过添加管理员属性为Devise添加管理员角色.

你能告诉我,这是否是创建一个需要管理员用户签名的before_filter的正确方法

在任何控制器中:

before_filter :authenticate_admin!

在application_controller中

protected
  unless current_user.try(:admin?)      
    redirect_to :new_user_session_path      
  end

解决方法

用这种方法
before_filter :authenticate_user!
  before_filter do 
    redirect_to new_user_session_path unless current_user && current_user.admin?
  end

这也确保任何客人都被迫登录.您不需要修改默认方法来强制验证只是访问实例方法admin?

def admin?
  self.admin == true
end

我的方法是创建一个角色属性,并根据一组预期的角色来检查其字符串值 – 它的灵活性远远超过了创建许多布尔属性.

猜你在找的Ruby相关文章