我有4 種類型的使用者使用我的系統:1.超級管理員2.超級管理員團隊、3.管理員和4。 管理團隊成員,
因為我使用spatie 來處理角色和權限,所以我有一組對於所有類型的用戶來說都很常見的模組(權限),還有其他一組模組(權限)僅適用於超級管理員,例如付款方式等。
現在,一旦為我的資料庫播種以獲得許可,我是否必須全部播種一次? ['contacts','email','bids']
帶有網路防護(但是我對防護的確切用法及其工作原理有點困惑),因此管理員只能從這些允許的權限中向他的團隊分配權限但是,對於超級管理員,我應該使用超級管理員守衛建立其他權限集嗎?我想知道什麼是最佳實踐。
使用案例:超級管理員先登入系統,然後從清單中決定應授予管理員哪些權限。
2. 管理員登入系統,並將分配哪一組權限將授予他的團隊,但管理員將無法查看超級管理員擁有的權限清單。
我希望我已經闡明了我的觀點,請讓我知道實施它的適當方式。
我想您正在使用一種模型,即用戶並將權限直接分配給用戶。這是我的方法所以,您可以做的是,您可以先建立一個角色並為角色授予適當的權限,然後將該角色指派給使用者。
首先,為角色指派權限
現在,將角色與使用者同步
這些是內建的 spatie 中間件,您可以在 app/Http/Kernel.php 中編寫
現在,您可以在路由中使用「角色」中間件來保護,
所以,現在您需要獲得特定角色的權限,即超級管理員或管理員。這是你可以做的,
此外,您也可以透過這種方式取得使用者角色
還有一件事,對於超級管理員,您不需要從角色獲得權限,您可以直接獲得所有權限。而且由於超級管理員可以存取整個系統,因此您可以透過這樣做繞過超級管理員的權限檢查,
希望對你有幫助:)