Files
yii2/apps/advanced/backend/controllers/SiteController.php
Alexander Makarov f5778b6bf0 Advanced application enhancements.
- Turned on CSRF validation by default.
- Added access control for login, signup and logout for frontend application.
- Added access control for login, logout and index for backend application.
- YII_ENV is now defined for all applications.
- No trace is writted to logs if debug is turned off.
- Added default error view for frontend and backend.
- In frontend application captcha will always ask for "testme" if YII_ENV is defined as "test".
2013-09-16 02:46:29 +04:00

64 lines
1.0 KiB
PHP

<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
use common\models\LoginForm;
class SiteController extends Controller
{
public function behaviors()
{
return array(
'access' => array(
'class' => \yii\web\AccessControl::className(),
'rules' => array(
array(
'actions' => array('login'),
'allow' => true,
'roles' => array('?'),
),
array(
'actions' => array('logout', 'index'),
'allow' => true,
'roles' => array('@'),
),
),
),
);
}
public function actions()
{
return array(
'error' => array(
'class' => 'yii\web\ErrorAction',
),
);
}
public function actionIndex()
{
return $this->render('index');
}
public function actionLogin()
{
$model = new LoginForm();
if ($model->load($_POST) && $model->login()) {
return $this->goHome();
} else {
return $this->render('login', array(
'model' => $model,
));
}
}
public function actionLogout()
{
Yii::$app->user->logout();
return $this->goHome();
}
}