FastAdmin控制管理員只顯示自己添加的數據


FastAdmin控制管理員只顯示自己添加的數據

發布於 2017-09-15 11:27:20

FastAdmin從1.0.0.20170915_beta版本開始添加了一項新的功能,可以單獨控制某個控制器只顯示當前管理員自己添加的數據,如果你的FastAdmin版本低於該版本,則沒有該功能,快升級最新版體驗吧!
下面簡單講解一下該功能的實現方法。

操作步驟

1、首先我們給當前控制器添加一個$dataLimit屬性,如下

class Page extends Backend
{
    protected $model = null;
    protected $dataLimit = 'personal'; //這個屬性在基類已經定義,默認為false,表示不啟用,$dataLimit可使用auth和personal兩個值
}

$dataLimit默認為false,表示不啟用,$dataLimit可使用authpersonal兩個值,下面簡單介紹一下它的意思

$dataLimit = false; //表示不啟用,顯示所有數據
$dataLimit = 'auth'; //表示顯示當前自己和所有子級管理員的所有數據
$dataLimit = 'personal'; //表示僅顯示當前自己的數據

2、給我們的數據表添加一個admin_id字段,類型為int(10),如果不想使用admin_id字段,我們改用adminid字段,則可以在當前控制器中定義個$dataLimitField屬性,如下

class Page extends Backend
{
    protected $model = null;
    protected $dataLimit = 'personal'; 
    protected $dataLimitField = 'adminid';
}

溫馨提示

一旦啟用 $dataLimit功能,當前控制器的添加、編輯、刪除、批量操作、Selectpage都會做相應的限制和權限判斷。
如果你重寫了 index/add/edit/del等方法,需要你自己使用 $adminIds = $this->getDataLimitAdminIds();來獲取獲取數據限制的管理員ID集合。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM