В моем приложении Yii2 я пытаюсь заставить всех пользователей пройти аутентификацию. Если они еще не прошли проверку подлинности, они должны быть перенаправлены на страницу входа.
В Yii1 я сделал это, создав класс, который будет проверять, был ли пользователь вошел в систему и привязал этот класс к поведению onBeginRequest
в моем основном файле конфигурации.
// Yii 1
'behaviors' => array(
'onBeginRequest' => array(
'class' => 'application.components.RequireLogin',
)
),
Как я могу получить одно и то же поведение в Yii2? Я знаю, что могу использовать поведение для этого, но я не хочу добавлять это поведение в свой основной файл конфигурации, поэтому все запросы сначала проверяются на аутентификацию.
Метод рабочего поведения выглядит следующим образом:
// Yii2
public function behaviors() {
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'allow' => true,
'roles' => ['@'],
],
],
],
];
}