我正在创建一个包含rails 6,devise和cancan的网页。
我需要一个管理员角色,但我不想创建一个单独的模型,而是向table表添加了一个Boolean列给用户,但这是事情,
如果有任何用户注册,则出于安全考虑,任何用户仅通过将此列的值更改为true来授予管理员特权。
所以我想也许我会从“ user_params”中删除“ admin”,但随后我将不得不从控制台进行此更改,这是不够的。
我应该只授予特定用户admin的权限,我的想法是我只允许第一位用户,或者特定电子邮件,但感觉很愚蠢,必须有一种更聪明的方法。
我如何让应用程序只有一位可以创建任何其他用户的管理员,但只有一位可以进行此操作的管理员,并且如果有任何普通用户注册,无论他不能以任何方式操作此列? >
最好的问候
答案 0 :(得分:1)
admin
中删除user_params
。您不希望用户仅通过准备请求就可以成为管理员。super_admin
,如果只需要执行一次,则从控制台授予该角色。super_admin
可以访问的视图和控制器,她可以为所有用户更新admin
。