2012-02-12 53 views
0

我正在尋找一個爲我正在製作的應用程序定製的RBAC解決方案。與隨意CanCan相比,主要區別在於RBAC不依賴用戶模型,而是依賴其他一些完全自定義的模型。CanCan(或其他插件?)的自定義RBAC

例如,用戶屬於一個組,並且該組具有具有特定權限的角色。也就是說,用戶可能屬於「工人」組(他是一名工人),工人可以在其中「修理東西」。

實際上我真的想問一下,CanCan是否能夠做這樣的定製化的事情。或者,如果有更好的解決方案來設計自定義的RBAC,那麼更好的插件可能是什麼?

請注意,我試圖做的RBAC與實際的用戶認證無關,但只是一種使用內部資源的方式,比如誰能夠修復內容,誰能夠清理等等。

回答

1

CanCan很少關心權限來自何處。

更換

class Ability 
    include CanCan::Ability 

    def initialize(user) 
    if user.has_role?(:foo) 
     can :manage, :bars 
    end 
    end 
end 

class Ability 
    include CanCan::Ability 

    def initialize(user) 
    if user.group.has_role?(:foo) 
     can :manage, :bars 
    end 
    end 
end 

而且你有一組爲基礎的系統。

+0

哦,我明白了,它似乎對我的需要很好,然後,thanx – Spyros 2012-02-12 17:47:27

相關問題