61 lines
1.4 KiB
PHP
61 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
namespace yii\debug\controllers;
|
|
|
|
use Yii;
|
|
use yii\debug\models\UserSwitch;
|
|
use yii\web\BadRequestHttpException;
|
|
use yii\web\Controller;
|
|
use yii\web\Response;
|
|
|
|
/**
|
|
* User controller
|
|
*
|
|
* @author Semen Dubina <yii2debug@sam002.net>
|
|
* @since 2.0.10
|
|
*/
|
|
class UserController extends Controller
|
|
{
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function beforeAction($action)
|
|
{
|
|
Yii::$app->response->format = Response::FORMAT_JSON;
|
|
if (!Yii::$app->session->hasSessionId) {
|
|
throw new BadRequestHttpException('Need an active session');
|
|
}
|
|
return parent::beforeAction($action);
|
|
}
|
|
|
|
/**
|
|
* Set new identity, switch user
|
|
* @return \yii\web\User
|
|
*/
|
|
public function actionSetIdentity()
|
|
{
|
|
$user_id = Yii::$app->request->post('user_id');
|
|
|
|
$userSwitch = new UserSwitch();
|
|
$newIdentity = Yii::$app->user->identity->findIdentity($user_id);
|
|
$userSwitch->setUserByIdentity($newIdentity);
|
|
return Yii::$app->user;
|
|
}
|
|
|
|
/**
|
|
* Reset identity, switch to main user
|
|
* @return \yii\web\User
|
|
*/
|
|
public function actionResetIdentity()
|
|
{
|
|
$userSwitch = new UserSwitch();
|
|
$userSwitch->reset();
|
|
return Yii::$app->user;
|
|
}
|
|
}
|