本文實例講述了Yii框架ACF(accessController)簡單權限控制操作。分享給大家供大家參考,具體如下:
use yii/filters/AccessControl;class SiteController extends Controller{ public function behaviors() { return [ 'access' =>[ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'actions' => ['index', 'view'], 'roles' => ['?'], ], [ 'allow' => true, 'actions' => ['view','index','create','update'], 'roles' => ['@'], ], [ 'actions' => ['special-callback'], //'only' => ['special-callback'], 'allow' => true, 'matchCallback'=>function($rule,$action){ return date('Y-m-d') === '2017-02-14';//只有2017年2月14號才可以訪問 }, 'denyCallback'=>function($rule,$action){ //禁止訪問的規則 }, 'ips'=>[],//允許的ip 'verbs'=>['GET','POST','DELETE'],//請求的方式 ], ], ], ]; } // ...}訪問規則通過如下的上下文參數設置:
actions: 設置哪個動作匹配此規則。
roles: 設定哪個角色匹配此規則。
*: 任何用戶,包括匿名和驗證通過的用戶。
?: 匿名用戶。
@: 驗證通過的用戶。
ips: 設定哪個客戶端IP匹配此規則。
verbs: 設定哪種請求類型(例如:GET, POST)匹配此規則。
matchCallback:指定一個PHP回調,以確定應用該規則。
denyCallback:PHP回調,當規則禁止訪問的時候會被調用。
public function actionSpecialCallback(){ return $this->render('happy-halloween');}以上代碼可以用來控制博客系統的訪客和登錄用戶的相關權限
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選