ACF是一种通过yiifiltersAccessControl类来实现的简单授权
有两种角色 ?:未经认证的游客用户
@:已认证的用户
ACF可同过对角色设置权限控制访问
1)记得引入yiifiltersAccessControl;
use yiifiltersAccessControl;
2)设置behaviors方法
class PostController extends Controller { /** * @inheritdoc */ public function behaviors() { return [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST'], ], ], 'access'=>[ 'class'=>AccessControl::className(), 'rules'=>[ [ 'actions'=>['index','view'], //赋予权限页面 'allow'=>true, //允许访问 'roles'=>['?'], //角色 ], [ 'actions'=>['creat','view','update'], 'allow'=>true, 'roles'=>['@'], ], ], ], ]; }
除了以上基本规则,ACF其他规则
ips:浏览器的IP地址 可使用通配符*,为空则匹配所有用户
verbs:匹配请求方式(GET,POST)
matchCallback:PHP回调,以确定应用该规则
denyCallback:PHP回调,当规则禁止访问时候会调用
[ 'actions'=>['gift'], 'allow'=>true, 'matchCallback'=>function($rule,$action){ return date('d-m')==='11-11'; //只允许11.11号访问 } ]