/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
backend/controllers/AuthController.php
82 строки
2 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace backend\controllers; use backend\forms\LoginForm; use common\helpers\UrlHelper; use Yii; use yii\base\InvalidConfigException; use yii\web\Controller; use yii\web\Response; /** * Контроллер для вывода страниц для входа в систему пользователя * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2020 */ class AuthController extends Controller { /** * @inheritdoc */ public $layout = 'main.twig'; /** * Страница входа * * @param string $redirect * * @return string * @throws InvalidConfigException */ public function actionLogin($redirect = '') { $returnUrl = Yii::$app->user->getReturnUrl(); if ($redirect) { $returnUrl = $redirect; } if (!Yii::$app->user->isGuest) { return $returnUrl ? $this->redirect($returnUrl) : $this->goHome(); } /** @var LoginForm $model */ $model = Yii::createObject(LoginForm::class); // пробуем авторизоваться if ($model->load(Yii::$app->request->post()) && $model->login()) { return $returnUrl ? $this->redirect($returnUrl) : $this->goHome(); } Yii::$app->view->title = Yii::t('app', 'Authorization'); $breadcrumbs[] = [ 'label' => Yii::t('app', 'Authorization') ]; $this->view->params['breadcrumbs'] = $breadcrumbs; return $this->render('login', [ 'model' => $model ]); } /** * Выход * * @return Response */ public function actionLogout() { $url = UrlHelper::previous(); Yii::$app->user->logout(); Yii::$app->session->regenerateID(true); Yii::$app->user->setReturnUrl(null); return $url ? $this->redirect($url) : $this->goHome(); } }