public function behaviors()
{
return ArrayHelper::merge(parent::behaviors(), [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
'clear' => ['post'],
],
],
'access' => [
'class' => AccessControl::className(),
'rules' => [
['allow' => true, 'actions' => ['index', 'count'], 'roles' => ['@']],
['allow' => true, 'actions' => ['delete', 'clear'], 'verbs' => ['POST'], 'roles' => ['@']],
]
]
]);
}
VerbFilter检查请求动作的HTTP请求方式是否允许执行, 如果不允许,会抛出HTTP 405异常。 如上示例,VerbFilter指定CRUD动作所允许的请求方式。
access这是动作过滤器最常用的使用方式。 only
选项指定这个ACF只能被应用于 某些动作。 rules
选项指定访问规则,内容为:允许所有认证用户访问'index' 和 注销'count' 动作。@表示认证用户,?表示访客