阿江 2017-04-11 15:13:56 2987次浏览 0条回复 3 0 0

如果你的应用仅仅只是简单的权限控制,权限控制过滤器(Access Control Filter,ACF)将是最佳选择,ACF是一种简单的授权方法,它继承自yii\filters\AccessController。意如其名,权限控制过滤器(ACF)是一个动作过滤器,它可以在控制器或模块中被使用。当一个用户请求执行一个动作时,ACF将检查存取规则列表,然后决定该用户是否允许访问其所请求的动作,实例代码如下,重点在代码中的注释呦!

文件位置:D:\phpwork\basic\controllers\SiteController.php

use yii\web\Controller;
use yii\filters\AccessControl;
class SiteController extends Controller
{
    public function behaviors()
    {
        return [
			//access
            'access' => [
                'class' => AccessControl::className(),
				//仅用于'login', 'logout', 'signup',这三个动作
                'only' => ['login', 'logout', 'signup'],
				//rules
                'rules' => [
                    [
						//规则为允许访问
                        'allow' => true,
						//应用于两个动作'login', 'signup'
                        'actions' => ['login', 'signup'],
						//应用于所有的guest,以'?'表示
                        'roles' => ['?'],
                    ],
                    [
						//规则为允许访问
                        'allow' => true,
						//应用于一个动作'logout'
                        'actions' => ['logout'],
						//应用于所有的已登录客户,以'@'表示
                        'roles' => ['@'],
                    ],
                ],
            ],
        ];
    }
    // ...
}
(全文完)
    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册