簡體   English   中英

devise 只允許一個用戶成為管理員

[英]Allow only one user to be an admin with devise

我正在創建一個帶有 rails 6、devise 和 cancan 的網頁。

我需要一個管理員角色,但我不想創建一個單獨的 model 而是我向用戶表添加了一個 Boolean 列,但這是事情,

如果有任何用戶注冊,那么任何用戶只能通過將此列的值更改為 true 來授予管理員權限,這將是一個安全問題。

所以我想也許我會從“user_params”中刪除“admin”,但是我必須從控制台進行這個更改,這還不夠好。

我應該如何只將管理員授予特定用戶,我的想法是我只允許第一個用戶使用它,或者特定的 email 但感覺很愚蠢,必須有更聰明的方法。

我如何讓應用程序只有一個管理員可以讓任何其他用戶成為管理員,但只有他可以做到這一點,如果有任何普通用戶注冊,無論如何他都不能以任何方式操作此列?

此致

  1. 從注冊user_params中的 user_params 中刪除admin 您不希望用戶僅通過准備請求就成為管理員。
  2. 引入第三列super_admin ,如果您只需執行一次,則從控制台授予此角色。
  3. 創建只有super_admin可以訪問的視圖和控制器,她可以為所有用戶更新admin

暫無
暫無

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

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