繁体   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