[英]Allow only one user to be an admin with devise
我正在創建一個帶有 rails 6、devise 和 cancan 的網頁。
我需要一個管理員角色,但我不想創建一個單獨的 model 而是我向用戶表添加了一個 Boolean 列,但這是事情,
如果有任何用戶注冊,那么任何用戶只能通過將此列的值更改為 true 來授予管理員權限,這將是一個安全問題。
所以我想也許我會從“user_params”中刪除“admin”,但是我必須從控制台進行這個更改,這還不夠好。
我應該如何只將管理員授予特定用戶,我的想法是我只允許第一個用戶使用它,或者特定的 email 但感覺很愚蠢,必須有更聰明的方法。
我如何讓應用程序只有一個管理員可以讓任何其他用戶成為管理員,但只有他可以做到這一點,如果有任何普通用戶注冊,無論如何他都不能以任何方式操作此列?
此致
user_params
中的 user_params 中刪除admin
。 您不希望用戶僅通過准備請求就成為管理員。super_admin
,如果您只需執行一次,則從控制台授予此角色。super_admin
可以訪問的視圖和控制器,她可以為所有用戶更新admin
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.