一.权限控制过滤器ACF定义
1.定义
是一种通过yii\filters\AccessControl类来实现的简单授权方法,适用于仅需简单的存取控制的应用实现ACF的方法
2.实现方法
在控制器中 behaviors方法中设定存取规则。当用户请求一个动作的时候,ACF会检查存取规则,判断该用户是否被允许执行所请求的动作
3.两种角色
?: 未认证的访客用户
@: 已认证用户
4.实例
use yii\web\Controller;
use yii\filters\AccessControl;
class SiteController extends Controller
{
public function behaviors()
{
return [
//access
'access' => [
'class' => AccessControl::className(),
'only' => ['login', 'logout', 'signup'], //仅用于'login', 'logout', 'signup',这三个动作
//rules
'rules' => [
[
'allow' => true, //规则为允许访问
'actions' => ['login', 'signup'], //应用于两个动作'login', 'signup'
'roles' => ['?'], //应用于所有的guest,以'?'表示
],
[
'allow' => true, //规则为允许访问
'actions' => ['logout'], //应用于一个动作'logout'
'roles' => ['@'], //应用于所有的已登录客户,以'@'表示
],
],
],
];
}
// ...
}