Могу ли я использовать эти 2 behavior`а в связке для controller`а, унаследованного от ActiveController?
Если да, то как?
Вот пример кода:
public function behaviors() {
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => TokenAuth::className()
];
$behaviors['access'] = array(
'class' => \yii\filters\AccessControl::className(),
'only' => ['login', 'registration', 'logout'],
'rules' => array(
[
'allow' => true,
'actions' => ['login', 'registration'],
'roles' => ['?'],
'verbs' => ['post']
],
[
'allow' => true,
'actions' => ['logout'],
'roles' => ['@'],
],
)
);
return $behaviors;
}
В данном примере behavior['authenticator'] срабатывает всегда! Хотя хотелось бы, чтоб он срабатывал с учетом $behaviors['access'].
Например: По умолчанию все методы запрещены. Для не авторизованных пользователей доступны методы login и registration. Для авторизованных пользователей доступен метод logout.
P.S.
Не смотрите на
'class' => TokenAuth::className()
он практически идентичен
QueryParamAuth::className()