1.需求背景
场景一
在网络安全场景中,当用户尝试多次登录账号却未能成功时,系统会自动触发安全机制,将该账号暂时锁定。这一措施旨在防止恶意攻击者通过暴力破解手段获取用户信息,确保账号及关联数据的安全。账号被锁定后,用户需通过找回密码、联系客服等方式进行解锁,并在解锁后重新尝试登录。此安全策略在各大在线服务平台得到广泛应用,成为保护用户账号安全的重要手段之一。
...
为保障用户账号的安全性,系统设定了同一账号不能在不同地点同时登录的规则。当同一账号在异地尝试登录时,系统会立即识别并强制断开之前的登录会话,要求用户重新进行身份验证。这一措施有效防止了账号被他人恶意盗用或共享,确保了用户数据的保密性和完整性,为用户提供了更加安全的登录环境。
2.功能说明
1)多次登录失败后对账号进行锁定
2)同一账号不能在不同地点同时登录
3.使用说明
3.1. 扩展包部署
部署说明:扩展包部署
信息 |
---|
更新扩展包之前,请做好知识库以及扩展包的备份。 |
3.2. 访问配置文件地址
(1)进入config.jsp配置加密类型为【CLASS】,登录验证类为【smartbi.ext.ad.whitelistuseraccountforbid.auth.ExtADAuthentication】,AD域配置文件仍读取"ad.properties文件存放位置“,配置完成后LoginLockAuthentication】,配置完成后 重启服务器,如下:
(2)管理员登录系统后,在【运维设置】- 【系统选项】 - 【用户管理】中,会增加【AD账号白名单】选项,可以把不需要AD域验证的 ”用户“,添加到 ”白名单用户列表“ 中,如下:【用户管理】中,会增加相关的选项,按需进行相关的设置,如下:
设置项 | 说明 | 默认值 |
---|---|---|
最大错误登录次数 | 账号密码输入错误的次数设置,当失败次数达到设定值是,该账户被锁定。 | 3 |
禁用时长(分) | 账号锁定后,账号被禁用的时长,单位为分钟。 注意:
|
...
|
...
c_id
varchar(255)
ID
c_type
varchar(255)
类型(用户USER、用户组GROUP、角色ROLE,所有用户EVERYONE)
c_is_descend
varchar(255)
是否应用于子孙组用户(只对用户组生效)
c_extend
longtext
10 |
(3)用户登录时,系统会先去判断输入的 ”用户“ 是否在 ”白名单用户列表“ 中,是的话就不走AD域登录认证,其它情况则走AD域登录认证。
4.数据字典
部署扩展包后,会在知识库中会增加一个物理表。
t_ext_ad_whiteinfo(AD白名单账号信息表)
普通用户是否开启禁用时长 | 是:禁用时可以通过禁用时长控制禁用状态,达到禁用时长后,会可再次登录; 否:禁用后只能通过管理员解禁或到第二天才可以再次登录。 | 是 | ||
管理员是否受限 | 是:admin管理员输入最大错误密码次数后也会受禁用时长限制影响; 否:admin输入错误密码没有最大错误次数限制。
| 是 |
(3)管理员登录系统后,在【运维设置】- 【解锁用户】 中,可以对禁用用户进行解锁:
信息 |
---|
注意:只要具备以下其中一种情况就可以进行单个解锁或批量解锁操作 1)拥有 管理员角色 的用户 2)拥有 会话管理 的全部权限的用户 |