3

基本的なクリアランス設定があります-

rails generate clearance:install

rails generate clearance:views

私のadmin_controllerには、

before_filter :authorize

これにより、ユーザーがログインしていることを確認できます。ユーザーに「管理者」権限を設定し、管理者コントローラーへのアクセスを許可する前に、ユーザーに権限があることを確認するにはどうすればよいですか。

これに対するより良い解決策はありますか?

ありがとう!

アンドリュー

4

2 に答える 2

6

同じ質問がありましたがcancan、私には多すぎるようです(小さなプロジェクト)

実際、のソースコードauthorize非常に単純なので、ここでの私のアプローチは次のとおりです。

初期化子でモジュールを開き、Clearance::Authorizationそこにカスタムメソッドを追加します。

# config/initializers/clearance_authorization.rb

module Clearance
  module Authorization
    extend ActiveSupport::Concern

    def authorize_admin
      unless(signed_in? && current_user.admin?)
        deny_access
      end
    end
  end
end

サーバーを再起動することを忘れないでください:)

于 2014-05-14T06:41:49.280 に答える
2

CanCanと混ぜる

https://github.com/ryanb/cancan

http://railscasts.com/episodes/192-authorization-with-cancan

于 2011-05-22T01:53:50.360 に答える