frank 3 лет назад
Родитель
Сommit
74b814d96f

+ 4 - 3
backendApi/modules/v1/controllers/BaseController.php

@@ -38,18 +38,19 @@ class BaseController extends \yii\rest\ActiveController {
     public function beforeAction($action) {
         $parentBeforeAction = parent::beforeAction($action);
 
-        // 增加的判断用户登录的操作间隔是否大于十分钟
+        // 增加的判断用户登录后未操作后的超时
         if (Yii::$app->getUser()->getUserInfo()){
             $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-            $redisAdminKey = 'admin-'.$adminId;
+            $redisAdminKey = 'timeout-admin-'.$adminId;
             $lastTime = '';
             if (!Yii::$app->tokenRedis->hget($redisAdminKey, 'lastTime')) {
                 $lastTime = time();
             }else{
                 $lastTime = Yii::$app->tokenRedis->hget($redisAdminKey, 'lastTime');
             }
+
             $currentTime = time();
-            $timeOut = 15 * 60 ;     // 这里设置的15分钟超时
+            $timeOut = Yii::$app->params['operationTimeOut'];
             if ($currentTime - $lastTime > $timeOut) {
                 return self::notice('Connection not operated for too long', 402);
             } else {

+ 1 - 1
backendApi/modules/v1/models/LoginForm.php

@@ -139,7 +139,7 @@ class LoginForm extends Model {
             AdminLoginLogger::success($this->_user);
 
             // 新需求添加的删除用户token , 重新统计
-            $redisKey = 'admin-'.$this->_user->getId();
+            $redisKey = 'timeout-admin-'.$this->_user->getId();
             if (Yii::$app->tokenRedis->exists($redisKey)){
                 Yii::$app->tokenRedis->del($redisKey);
             }

+ 1 - 0
common/config/params.php

@@ -9,6 +9,7 @@ return [
     'frontAccessTokenExpiresIn' => 3000 * 60,
     'frontRefreshTokenExpiresIn' => 3000 * 60 * 60,
     'user.passwordResetTokenExpire' => 3600,
+    'operationTimeOut' => 15 * 60,     // 这里设置的15分钟超时
     'pageSize' => 20,
     'http' => [
         'shopApi' => [

+ 8 - 7
frontendApi/modules/v1/controllers/BaseController.php

@@ -47,22 +47,23 @@ class BaseController extends \yii\rest\ActiveController {
     public function beforeAction($action) {
         $this->forbiddenQuicklyUser();
 
-        // 增加的判断用户登录的操作间隔是否大于十分钟
+        // 增加的判断用户登录后未操作后的超时
         if (Yii::$app->getUser()->getUserInfo()){
-            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-            $redisAdminKey = 'user-'.$adminId;
+            $userId = Yii::$app->getUser()->getUserInfo()['id'];
+            $redisUserKey = 'timeout-user-'.$userId;
             $lastTime = '';
-            if (!Yii::$app->tokenRedis->hget($redisAdminKey, 'lastTime')) {
+            if (!Yii::$app->tokenRedis->hget($redisUserKey, 'lastTime')) {
                 $lastTime = time();
             }else{
-                $lastTime = Yii::$app->tokenRedis->hget($redisAdminKey, 'lastTime');
+                $lastTime = Yii::$app->tokenRedis->hget($redisUserKey, 'lastTime');
             }
+
             $currentTime = time();
-            $timeOut = 15 * 60 ;     // 这里设置的15分钟超时
+            $timeOut = Yii::$app->params['operationTimeOut'];
             if ($currentTime - $lastTime > $timeOut) {
                 return self::notice('Connection not operated for too long', 402);
             } else {
-                Yii::$app->tokenRedis->hset($redisAdminKey, 'lastTime', time());
+                Yii::$app->tokenRedis->hset($redisUserKey, 'lastTime', time());
             }
         }
 

+ 1 - 1
frontendApi/modules/v1/models/LoginForm.php

@@ -171,7 +171,7 @@ class LoginForm extends Model
             UserLoginLogger::success($this->_userInfo);
 
             // 新需求添加的删除用户token , 重新统计
-            $redisKey = 'user-'.$this->_userInfo['USER_ID'];
+            $redisKey = 'timeout-user-'.$this->_userInfo['USER_ID'];
             if (Yii::$app->tokenRedis->exists($redisKey)){
                 Yii::$app->tokenRedis->del($redisKey);
             }