【问题标题】:rails_admin authentication with user's boolean admin使用用户的布尔管理员进行 rails_admin 身份验证
【发布时间】:2014-12-29 21:42:11
【问题描述】:

我目前正在使用带有设计的 rails 4.2.0beta4。在我的架构中,我的用户具有布尔值:admin default:false。安装rails_admin后,暂时允许每个用户进入我的/admin。但是我该如何让它只有布尔值 is_admin 的用户?真人登录?

我应该只做 rails generate devise admin 吗?这会比重新配置更快吗?

提前致谢。

【问题讨论】:

    标签: ruby-on-rails-4 devise rails-admin


    【解决方案1】:

    我会创建一个管理命名空间... 1 - 在 routes.rb 中

    namespace :admin do
      resources :your_routes
    end
    

    2 - 确保以下目录存在; app/views/admin、app/controllers/admin,并将您想要限制为管理员的任何控制器和视图模板放在这些文件夹中。

    3 - 将此添加到 application_controller.rb

    def user_is_admin?
      signed_in? && current_user.is_admin?
    end
    

    4 - 然后在你的 app/controllers/admin 中的任何控制器中添加一个 before_filter 来检查 some_controller.rb

    class Admin::YourController < ApplicationController
      before_filter :user_is_admin?
    end
    

    对于它的价值,如果你不想的话,你不必命名空间。从技术上讲,您可以将第 3 步和第 4 步中的 before_filter 添加到您想要保护的任何操作中,但我认为从长远来看,命名空间是一个更好的主意。

    【讨论】:

      猜你喜欢
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 2013-07-10
      • 2018-12-10
      • 1970-01-01
      • 2011-11-30
      相关资源
      最近更新 更多