Yii::$app->user->id 获取登录用户名
首先使用gii生成usermodel,在组件中作如下配置
#此处来自https://www.yiichina.com/tutorial/1491
'user' => [
'identityClass' => 'backend\models\DbUserBase',
'enableAutoLogin' => false,
'enableSession' => true,//登录用
'loginUrl' =>'',
'identityCookie' => ['name' => '_identity-frontend-api', 'httpOnly' => true],
],
# 本地配置 comman/config/test.php
#'components' => [
# 'user' => [
# 'class' => 'yii\web\User',
# 'identityClass' => 'common\models\User',
# ],
# 'request' => [
# 'cookieValidationKey' => 'test',
# ],
#在登录页面调用
Yii::$app->user->login($admin, 3600 * 24);
#Yii::$app->session['adminType'] = $admin['utype'];
验证类
通过定义一个类,后台的类都继承自这个类,没有登录跳转到登录界面
<?php
namespace backend\controllers;
use yii;
use yii\web\Controller;
class BController extends Controller
{
//关闭csrf验证
//public $enableCsrfValidation = false;
//调用方法之前验证是否登陆
public function beforeAction($action)
{
// 未登录
if(Yii::$app->user->isGuest){
return $this->goHome();
}else{
return true;
}
}
}