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

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...