簡體   English   中英

CanCan權限-是否必須明確?

[英]CanCan Permissions - Do they have to be explicit?

我是RoR的新手,正在利用CanCan進行授權。 我想知道我是否必須對用戶可能具有的每一項能力都保持明確。

我可能還不夠清楚,因此我將發布一些代碼來幫助說明我的問題。

if user.is_admin?
   can :manage, all
end

if user.is_director?
   can :update, Camp
end

在這種情況下,導演只能更新營地嗎? 還是我必須指出他/她具體不能做的事情?

提前致謝。

如果我沒有記錯的話,在實現CanCan的那一刻,只要在匹配的控制器中調用authorize_resource (或load_and_authorize_resource ),就必須明確。

是的(如果您在CampController調用authorize方法之一)。

(另外,director角色不應與admin角色重疊;)如果這樣做,則僅獲取所有權限。 是不是:all ?)

如果將check_authorization添加到ApplicationController ,則可以,默認情況下它將對所有控制器操作skip_authorization_check鎖定,除非由skip_authorization_check專門覆蓋。

查看有關此問題的GitHub討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM