|
|
@@ -2,6 +2,7 @@
|
|
|
namespace backendApi\modules\v1\models;
|
|
|
|
|
|
use common\components\Model;
|
|
|
+use common\helpers\Cache;
|
|
|
use common\helpers\LoggerTool;
|
|
|
use common\helpers\Tool;
|
|
|
use common\libs\IpFilter;
|
|
|
@@ -133,10 +134,13 @@ class LoginForm extends Model {
|
|
|
// $this->_updateFailTimes($transaction,'登陆IP异常,无法登陆. ' . $loginIp);
|
|
|
// throw new Exception('用户名或者密码错误');
|
|
|
// }
|
|
|
+
|
|
|
// 失败次数到达上限次数
|
|
|
$loginFailNums = Yii::$app->redis->get('FAIL_NUMS:' . $this->adminName) ?? 0;
|
|
|
LoggerTool::error(sprintf('tmp_log_fail_nums_get_登录失败次数:%s, adminName: %s', $loginFailNums, $this->adminName));
|
|
|
- if ($loginFailNums >= 3) {
|
|
|
+ // 登陆失败次数过多是否限制登陆开关(0-未开启)
|
|
|
+ $loginFailedRejectNums = Cache::getSystemConfig()['loginFailedRejectNums']['VALUE'];
|
|
|
+ if (($loginFailedRejectNums > 0) && ($loginFailNums > $loginFailedRejectNums)) {
|
|
|
$this->_updateFailTimes($transaction,'账号登陆失败次数过多,无法登录. ' . $loginFailNums);
|
|
|
throw new Exception('用户名或者密码错误');
|
|
|
}
|