我通过添加admin属性为Devise添加了一个admin角色.
你能否告诉我这是否是创建需要管理员用户签名的before_filter的正确方法:
在任何控制器:
before_filter :authenticate_admin!
Run Code Online (Sandbox Code Playgroud)
在application_controller中
protected
unless current_user.try(:admin?)
redirect_to :new_user_session_path
end
Run Code Online (Sandbox Code Playgroud)
Mic*_*lva 24
采用这种方法
before_filter :authenticate_user!
before_filter do
redirect_to new_user_session_path unless current_user && current_user.admin?
end
Run Code Online (Sandbox Code Playgroud)
这也确保了任何客人也被迫登录.您无需修改默认方法即可强制进行身份验证以访问实例方法admin?
def admin?
self.admin == true
end
Run Code Online (Sandbox Code Playgroud)
我的方法是创建一个角色属性并根据一组预期角色检查其字符串值 - 这种方式更灵活,而不是必须创建许多布尔属性.
| 归档时间: |
|
| 查看次数: |
14206 次 |
| 最近记录: |