0

所以我实现了 rails admin gem,即使使用 cancan gem,我也无法找到密码保护 localhost:3000/admin 的方法

有人可以给我一个分步指南吗?我真的找不到管理面板的视图或控制器,所以我不确定如何用密码保护它。

4

1 回答 1

0

此页面描述了您应该如何使用 Cancan:https ://github.com/sferik/rails_admin/wiki/CanCan

# in config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  config.authorize_with :cancan
end

他们的能力.rb 示例可能比您需要的多一点,这是我的:

class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= User.new # guest user (not logged in)
    if user.has_role? :admin
      can :manage, :all
      can :access, :rails_admin   # grant access to rails_admin
      can :dashboard              # grant access to the dashboard
    end
  end

end

然后,您必须将管理员角色授予用户。

您可以在 rails 控制台执行此操作:

user = User.find(1) #find user with ID 1
user.add_role :admin #assign role
user.has_role? :admin #should evaluate to True
于 2012-11-09T04:16:37.647 回答