YII2的訪問權(quán)限默認(rèn)是由自帶的rbac組件在管理,需要自己編寫相應(yīng)的規(guī)則去實(shí)現(xiàn)權(quán)限管理,無圖形界面。
相關(guān)推薦:yii教程
yii2-admin是將rbac的管理可視化,只需要點(diǎn)幾下鼠標(biāo)就能設(shè)置好簡單的規(guī)則。
本教程中軟件版本及鏈接:yii2(v2.06,使用高級(jí)模板),yii2-admin(2.0)
yii2:https://github.com/yiisoft/yii2 yii2-admin:https://github.com/mdmsoft/yii2-admin
本文未涉及自定義規(guī)則和yii2-admin菜單。
假定你已經(jīng)安裝好了yii2,且數(shù)據(jù)庫中創(chuàng)建了user表。
使用composer安裝yii2-admin
非windows環(huán)境下:
php?composer.phar?require?mdmsoft/yii2-admin?"~2.0" php?composer.phar?update
Windows下:
composer?require?mdmsoft/yii2-admin?"~2.0" composer?update
國內(nèi)網(wǎng)絡(luò)環(huán)境復(fù)雜,有可能安裝時(shí)間較長。如果長時(shí)間無響應(yīng),可終止命令重試。
配置yii2-admin運(yùn)行環(huán)境
注意:如果將yii2-admin配置在common目錄下是全局生效,會(huì)導(dǎo)致控制臺(tái)(console)下命令報(bào)錯(cuò)。
因?yàn)閮H將權(quán)限控制應(yīng)用于frontend模塊,所以將配置寫到frontend目錄下。
配置文件:frontendconfigmain.php
return?[ 'modules'?=>?[ 'admin'?=>?[ 'class'?=>?'mdmadminModule', 'layout'?=>?'left-menu',//yii2-admin的導(dǎo)航菜單 ] ... ], ... 'components'?=>?[ ... 'authManager'?=>?[ 'class'?=>?'yiirbacDbManager',?//?使用數(shù)據(jù)庫管理配置文件 ] ], 'as?access'?=>?[ 'class'?=>?'mdmadmincomponentsAccessControl', 'allowActions'?=>?[ 'site/*',//允許訪問的節(jié)點(diǎn),可自行添加 'admin/*',//允許所有人訪問admin節(jié)點(diǎn)及其子節(jié)點(diǎn) ] ], ];
創(chuàng)建相應(yīng)的數(shù)據(jù)庫表
在控制臺(tái)中輸入以下命令:
yii?migrate?--migrationPath=@mdm/admin/migrations yii?migrate?--migrationPath=@yii/rbac/migrations
安裝到此完成。