修正:用户连续登录失败导致账号被锁定后,即使解锁,接下来第一次登录失败也会立即锁定。#217

(#217)
dev
Apex Liu 2020-06-19 01:26:02 +08:00
parent e50c66f0e1
commit 7b46c3bc63
3 changed files with 15 additions and 5 deletions

View File

@ -792,9 +792,6 @@ $app.create_dlg_edit_user = function () {
var select = parseInt($(this).attr('data-tp-selector')); var select = parseInt($(this).attr('data-tp-selector'));
if (dlg.field_role === select) if (dlg.field_role === select)
return; return;
// var name = dlg._id2name(select);
console.log(select);
var name = $app.role_id2name(select); var name = $app.role_id2name(select);
if (_.isUndefined(name)) { if (_.isUndefined(name)) {

View File

@ -254,9 +254,16 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="key">会话超时</td> <td></td>
<td class="value"> <td class="value">
<input id="sess-noop-timeout" type="text" value="15"/><span class="unit">分钟</span><span class="desc">0~60。指定时间内远程会话没有任何数据包收发时将此会话断开为0则不检查。默认为15分钟。</span> <div>指定时间内远程会话没有任何数据包收发时teleport将主动断开此会话。</div>
<div class="alert alert-info">常用于ssh会话客户端或主机端配置了KeepAlive比如使用NO-OP防空闲指令即使会话上没有任何操作和数据交互仍然能保持连接不会中断。使用这里的会话超时设置可以将指定时间内无操作的会话强行关闭。</div>
</td>
</tr>
<tr>
<td></td>
<td class="value">
<input id="sess-noop-timeout" type="text" value="15"/><span class="unit">分钟内无数据收发则主动断开</span><span class="desc">0~60。为0则不做超时检查保留会话的原始超时设置。默认为15分钟。</span>
</td> </td>
</tr> </tr>

View File

@ -642,6 +642,12 @@ def update_users_state(handler, user_ids, state):
sql_v = (state, ) sql_v = (state, )
sql_list.append({'s': sql_s, 'v': sql_v}) sql_list.append({'s': sql_s, 'v': sql_v})
# 如果是解锁/解禁,同时要重置失败尝试次数
if state == TP_STATE_NORMAL:
sql_s = 'UPDATE `{tp}user` SET `fail_count`=0 WHERE `id` IN ({ids});' \
''.format(tp=db.table_prefix, ids=user_ids)
sql_list.append({'s': sql_s, 'v': None})
sql_s = 'UPDATE `{tp}ops_auz` SET `state`={ph} WHERE `rtype`={ph} AND `rid` IN ({ids});' \ sql_s = 'UPDATE `{tp}ops_auz` SET `state`={ph} WHERE `rtype`={ph} AND `rid` IN ({ids});' \
''.format(tp=db.table_prefix, ph=db.place_holder, ids=user_ids) ''.format(tp=db.table_prefix, ph=db.place_holder, ids=user_ids)
sql_v = (state, TP_USER) sql_v = (state, TP_USER)