[英]Safest and Railsiest way in CanCan to do Guest, User, Admin permissions
[英]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.