/**
  * @inheritdoc
  */
 public function beforeAction($action)
 {
     if (!AdminUser::isLoged()) {
         if (!in_array($action->id, ['login'])) {
             if ($this->request->getIsAjax()) {
                 $this->setError('login.failed', 401);
                 $this->setResponseData('data', Url::toRoute('/admin/default/login'));
             } else {
                 $this->redirect(Url::toRoute('/admin/default/login'));
             }
         }
     } else {
         /**
          * @var $this->user \liuxy\admin\models\AdminUser
          */
         $this->user = AdminUser::getUser();
         /**
          * 校验权限
          */
         if (!AdminUser::hasPermission($this->user->id, $action->controller->route)) {
             if (!in_array($action->id, ['deny', 'login', 'logout', ''])) {
                 if ($this->request->getIsAjax()) {
                     $this->setError(Module::t('deny'), 403);
                 } else {
                     $this->redirect(Url::toRoute('/admin/default/deny'));
                 }
             }
         }
     }
     return parent::beforeAction($action);
     // TODO: Change the autogenerated stub
 }
 /**
  * 登录
  */
 public function actionLogin()
 {
     $this->layout = false;
     $userName = $this->get('username', '');
     $password = $this->get('password', '');
     if ($this->request->getIsAjax()) {
         if (AdminUser::auth($userName, $password)) {
             $this->setResponseData('message', Module::t('login.success'));
             $this->setResponseData('data', Url::toRoute(\Yii::$app->defaultRoute));
         } else {
             $this->setError(Module::t('login.failed'), 401);
             $this->setResponseData('data', Url::toRoute('login'));
         }
     } else {
         if (AdminUser::isLoged()) {
             $this->goHome();
         }
     }
 }