|
|
@@ -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());
|
|
|
}
|
|
|
}
|
|
|
|