如何在 Rails 中添加角色和权限,即使它已经通过设计构建
how to add Roles and Permission in Rails even it's already build by devise
正在设计 Devise rails 过去两个月的租赁项目申请,现在项目已经发货,所以必须更改
因为我的项目给我发邮件作为更改路线
“我决定我们将进行纯粹的 B2B 游戏。因此不允许个人列出要出租的设备,只有经过验证的租用 centres/hardware 商店将能够列出要出租的设备.
但是,私人将能够创建个人资料并通过该平台进行预订,而不是出租他们自己的 equipment/tools。
所以我的问题是我是否应该像
那样在用户中添加新的列
设计用户列中的角色和权限:
用户(个人),
管理员(我们的员工),
公司。
或者使用 gem 像 rails-devise-pundit 或 cancancan 到项目中,即使这个项目已经建成。
您可能想看看 rolify gem。
它非常易于使用,您可以添加多个角色,并为一个用户分配多个角色。这样,您可以避免向用户的 table.
添加新列
以下是您可以为用户分配角色的方法:
user = User.find(1)
user.add_role :admin
验证用户是否具有角色 admin
:
user = User.find(1)
user.has_role? :admin
=> true
我们可以使用 cancan gem.
实施的基本步骤:
将 gem 导入 Gemfile
使用以下命令创建能力文件
rails g cancan:ability
- 像下面这样定义访问。
class Ability
include CanCan::Ability
def initialize(user)
alias_action :create, :read, :update, :destroy, :to => :crud
if user.super_admin?
can :access, :rails_admin # grant access to rails_admin
can :dashboard # grant access to the dashboard
# Accss Level to Models
can :crud
end
end
end
的更多详细信息
正在设计 Devise rails 过去两个月的租赁项目申请,现在项目已经发货,所以必须更改
因为我的项目给我发邮件作为更改路线
“我决定我们将进行纯粹的 B2B 游戏。因此不允许个人列出要出租的设备,只有经过验证的租用 centres/hardware 商店将能够列出要出租的设备. 但是,私人将能够创建个人资料并通过该平台进行预订,而不是出租他们自己的 equipment/tools。
所以我的问题是我是否应该像
那样在用户中添加新的列设计用户列中的角色和权限:
用户(个人),
管理员(我们的员工),
公司。
或者使用 gem 像 rails-devise-pundit 或 cancancan 到项目中,即使这个项目已经建成。
您可能想看看 rolify gem。
它非常易于使用,您可以添加多个角色,并为一个用户分配多个角色。这样,您可以避免向用户的 table.
添加新列以下是您可以为用户分配角色的方法:
user = User.find(1)
user.add_role :admin
验证用户是否具有角色 admin
:
user = User.find(1)
user.has_role? :admin
=> true
我们可以使用 cancan gem.
实施的基本步骤:
将 gem 导入 Gemfile
使用以下命令创建能力文件
rails g cancan:ability
- 像下面这样定义访问。
class Ability
include CanCan::Ability
def initialize(user)
alias_action :create, :read, :update, :destroy, :to => :crud
if user.super_admin?
can :access, :rails_admin # grant access to rails_admin
can :dashboard # grant access to the dashboard
# Accss Level to Models
can :crud
end
end
end
的更多详细信息