0

我试图将我的能力定义如下:

class Ability
  include CanCan::Ability

  def initialize(user)

    user ||= User.new # guest user (not logged in)

    if user.role == 'admin'
      can :manage, :all
    elsif user.role == 'member'
      can :manage, [User,Post] , :id => user.id
      cannot :index, User # list users page
    else
      can :read, :all
    end
  end
end

并已包含load_and_authorize_resource在我的PostsController.

如果我理解这些定义,来宾用户不应该有权访问该create操作,PostsController但他们可以。

对这种行为有什么解释吗?

编辑

解决了!

刚刚意识到我忘记添加一个,before_filter :authenticate_user!因为我正在使用设计进行身份验证。

4

1 回答 1

0

解决了!

刚刚意识到我忘记添加一个,before_filter :authenticate_user!因为我正在使用设计进行身份验证。

于 2012-05-20T19:30:21.860 回答