簡體   English   中英

具有CanCanCan的多個Devise用戶或一個用戶和權限?

[英]Multiple Devise users or one user and permissions with CanCanCan?

實現具有不同屬性和行為的兩種類型的用戶(客戶端,管理員)的首選方法是什么?

是由Devise創建的兩種類型的用戶,還是只有一種User模型,並通過CanCanCan設置權限?

謝謝

僅使用一個用戶,並使用諸如role_id類的特定列為該用戶分配角色。 然后,您可以擁有不同的角色,每個角色都有不同的ID。

admin = 1

standard = 2

然后,您可以像這樣在用戶中定義一個方法:

def admin?
  role_id == 1
end

在cancan中,您可以像這樣使用它:

def initialize(user) HERE PERMISSIONS FOR NON LOGGED USERS if user HERE PERMISSIONS FOR LOGGED USERS if user.admin? HERE PERMISSIONS ONLY FOR ADMIN end end end

如果您使用Rails> = 4.1,則可以對該列使用枚舉。

我會說具有權限的單一模型。 我對如何在這里進行處理做了詳細的回應:

為Ruby on Rails上的Devise設置不同的用戶模型和注冊路徑

暫無
暫無

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

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