您如何限制用户访问权限,以便用户只能读取自己的记录?
我尝试过:
def initialize(user)
can :read, User, :id => user.id
这:
def initialize(user)
can :read, user
但是我仍然可以访问索引和显示中的每个用户。我在UsersController中有authorize_resource。
相关文档供参考: https://github.com/CanCanCommunity/cancancan/wiki/Defining-Abilities
答案 0 :(得分:0)
:read != :show
:read == [:show, :index]
不幸的是,我没有安装程序可以对其进行测试,因此它是在黑暗中拍摄的。
can :show, User, :id => user.id
答案 1 :(得分:0)
似乎放
authorize! :show, @user
在表演动作中和
@users = User.accessible_by(current_ability)
在索引操作中使用以下命令解决了我的问题:
def initialize(user)
can :read, User, :id => user.id
我现在看到我应该一直在使用load_and_authorize_resource而不是仅仅使用authorize_resource,因为它会自动添加这些内容。