1
我有一個需要身份驗證的應用程序,並且有一個用戶模型。有以下規則的4級授權:Ruby on Rails中的用戶層次結構設計
- 1級用戶可以創建/編輯/刪除所有2,3和4級用戶。
- 2級用戶可以創建3級和4級用戶,並僅編輯他們擁有的用戶。
- 3級和4級無權創建/編輯/刪除用戶。
- 更新:3級和4級用戶可能有多個2級父級用戶。
除此之外,我希望所有用戶都能夠通過單個界面進行登錄。
有沒有處理這種層次結構的模式?使用諸如cancan之類的授權插件將允許我定義不同級別的授權,但不定義不同用戶之間的關係。
基本上我想設計,這將使我寫控制器代碼,例如這樣的:
@level_two_users = current_user.find_all_my_level_two_users
感謝
感謝您的回覆arnep,我試圖用您的解決方案運行,並擊中了另一個障礙,請問您是否可以檢查我的更新? – pingu 2011-05-15 15:53:11
@pingu您可以對'creator'使用':has_many'關係(一個用戶有許多其他用戶作爲創建者)。然後你可以使用'created_by?'方法來查詢這個關係。 – arnep 2011-05-15 20:02:44