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

彼らのability.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 に答える