示例#1
0
 /**
  * 更新用户信息
  * @return [type] [description]
  */
 public function actionEdit()
 {
     $aid = isset($_REQUEST['id']) ? $_REQUEST['id'] : '';
     $adminModel = \app\models\WAdmin::findOne($aid);
     $adminGroupModel = new \app\models\WAdminGroup();
     if ($adminModel) {
         if ($_SESSION['accountID'] != 1 && $aid == 1) {
             \app\common\XUtils::message('error', '无权修改', \Yii::$app->urlManager->createUrl(['iadmin/admin/index']));
         }
         if (\Yii::$app->request->isPost) {
             $getPost = $this->_getPost('WAdmin');
             $getPost['id'] = $aid;
             $filterData = $adminModel->writeDataValidate($getPost);
             if (!empty($filterData)) {
                 if ($adminModel->updateAdminInfo($filterData)) {
                     \app\common\XUtils::message('success', '用户信息更新成功!', \Yii::$app->urlManager->createUrl(['iadmin/admin/edit', 'id' => $aid]));
                 }
             }
         }
         $data = $adminModel->getSingleAdminInfoByID($aid);
         $adminModel->password = '';
         return $this->render('edit', ['model' => $adminModel, 'groupList' => $adminGroupModel->getDropDownList($adminGroupModel->getBaseAdminGroupList())]);
     }
     \app\common\XUtils::message('error', '用户不存在', \Yii::$app->urlManager->createUrl(['iadmin/admin/index']));
 }
 public function actionLogin()
 {
     if ($this->_sessionGet('accountID')) {
         \app\common\XUtils::message('success', '您已经登录,无需重复登录', \Yii::$app->urlManager->createUrl(['iadmin/admin/index']));
     }
     if (Yii::$app->request->isPost) {
         $getPost = $this->_getPost('WAdmin');
         if (!empty($getPost)) {
             if (!trim($getPost['username'])) {
                 exit(json_encode(['status' => -1, 'msg' => '请填写用户名']));
             } elseif (!trim($getPost['password'])) {
                 exit(json_encode(['status' => -1, 'msg' => '请填写密码']));
             } elseif (!trim($getPost['verifycode'])) {
                 exit(json_encode(['status' => -1, 'msg' => '请填写验证码']));
             } else {
                 if ($this->_sessionGet('__captcha/site/captcha') != $getPost['verifycode']) {
                     exit(json_encode(['status' => -1, 'msg' => '验证码错误']));
                 }
                 $userinfo = $this->adminModel->getSingleAdminInfo(['username' => $getPost['username'], 'password' => md5($getPost['password'])]);
                 if (!empty($userinfo)) {
                     $this->_sessionSet('accountID', $userinfo->id);
                     $this->_sessionSet('accountName', $userinfo->username);
                     if (isset($getPost['reme'])) {
                         $random = $this->generateRandom($userinfo->username);
                         list($identifier, $token, $timeout) = explode(':', $random);
                         // $this->_cookiesSet('auth', "$identifier:$token", $timeout);
                         setcookie('auth', "{$identifier}:{$token}", $timeout);
                         $this->adminModel->updateRandom($userinfo->id . ':' . $random);
                         \app\models\WAdmin::updateAll(array('last_login_time' => time()), array('id' => $userinfo->id));
                         // exit(json_encode(['status' => 1, 'msg' => $_COOKIE['auth'] . '--' . $random]));
                     }
                     exit(json_encode(['status' => 1, 'msg' => '登陆成功']));
                 } else {
                     exit(json_encode(['status' => -1, 'msg' => '用户名或密码错误']));
                 }
             }
         } else {
             exit(json_encode(['status' => -1, 'msg' => '请填写登录信息']));
         }
     }
     return $this->renderPartial('login', ['model' => $this->adminModel]);
 }
 public function verifyUser()
 {
     if (!$this->_sessionGet('accountID')) {
         if ($_COOKIE['auth']) {
             list($identifier, $token) = explode(':', $_COOKIE['auth']);
             $now = time();
             $adminModel = new \app\models\WAdmin();
             $userinfo = $adminModel->getAdminInfoByIdentifier($identifier);
             if (is_object($userinfo)) {
                 if ($userinfo->token != $token) {
                     \app\common\XUtils::message('error', '请重新登陆', \Yii::$app->urlManager->createUrl(['iadmin/access/login']));
                 } elseif ($now > $userinfo->timeout) {
                     \app\common\XUtils::message('error', '请重新登陆', \Yii::$app->urlManager->createUrl(['iadmin/access/login']));
                 } elseif ($identifier != md5(\Yii::$app->params['salt'] . md5($userinfo->username . \Yii::$app->params['salt']))) {
                     \app\common\XUtils::message('error', '请重新登陆', \Yii::$app->urlManager->createUrl(['iadmin/access/login']));
                 } else {
                     $this->_sessionSet('accountID', $userinfo->id);
                     $this->_sessionSet('accountName', $userinfo->username);
                 }
             }
         } else {
             \app\common\XUtils::message('error', '请重新登陆', \Yii::$app->urlManager->createUrl(['iadmin/access/login']));
         }
     }
 }
示例#4
0
 /**
  * 获取所有用户数据
  * @param  [type] $start    [description]
  * @param  [type] $pageSize [description]
  * @param  [type] $where    [description]
  * @return [type]           [description]
  */
 public function getAdminList($start, $pageSize, $where)
 {
     $connection = Yii::$app->db;
     $sqlOne = 'select a.id, a.username, a.last_login_time, g.group_name from ' . WAdmin::tableName() . ' as a left join ' . WAdminGroup::tableName() . ' as g on a.group_id = g.id where ' . $where . ' order by a.last_login_time desc, a.id asc limit ' . $start . ',' . $pageSize;
     $sqlTwo = 'select count(a.id) as n from ' . WAdmin::tableName() . ' as a left join ' . WAdminGroup::tableName() . ' as g on a.group_id = g.id where ' . $where;
     return array('data' => $connection->createCommand($sqlOne)->queryAll(), 'count' => $connection->createCommand($sqlTwo)->queryOne());
 }