密码策略-时效规则区分用户设置原创
金蝶云社区-wh_cn
wh_cn
8人赞赏了该文章 1,050次浏览 未经作者许可,禁止转载编辑于2022年04月16日 11:42:45

社区看到有人提问,密码时效规则能否设置部分特殊用户不受限制。

    看了系统里密码策略,是无法根据用户进行指定的,也就是说所有用户共用一个时效性,既然无法从策略上下手,那就就考虑 从具体用户上下手。

    由于每个用户修改密码的时间、周期肯定有差异,那么系统会记录每个用户上次修改密码的时间来作为时效判断的依据,按照这个思路,在用户表t_sec_user里找到了FPWDVALIDDATE这个字段来记录了密码时效性。

    首先,在系统密码策略里设置好密码有效期,然后将指定用户的FPWDVALIDDATE值往前调整,果然在登录时出现了密码密码已过期的提醒。

image.png

    说明此思路是正确的,那么我们只需要定期刷新指定用户的密码有效日期就可以变相的将这些特定用户设置为密码永不过期。

    如果是私有云部署可以直接在数据库里做个定时任务来执行,如果公有云或者不方便直接操作数据库的环境可以做一个执行计划来刷新。

    进一步完善此方案,可以做一个基础资料或单据,来设置用户,每次执行的时候将设置好的用户遍历刷新一遍,这样就做到了可以在前台指定密码不过期用户。

    进一步思考这个问题,能否实现不同用户设置不同的密码过期天数。目前想到一个方案,做一个基础资料或直接在用户上扩展字段指定用户密码有效天数,如果不指定或填0则按照系统标准的控制逻辑处理。然后再做一个实体记录每个用户上次的密码有效日期,然后做执行计划每天校验t_sec_user表里的密码有效日期是否修改过,如果修改过并且不是我们的插件修改的就说明用户修改了密码,那么我们将此系统密码策略里设置的密码有效天数和自定义的用户密码有效天数差值做为调整项加到表里面的有效日期上面进行调整,再将调整之后的日期记录作为下次判断的依据。这样就可以变相的实现了不同用户设置不同的密码有效天数。

    以上最后的方案只是在写此文章时的突发奇想,未做任何验证。

    对于此调整密码有效日期字段以达到控制密码过去判断的方案仅做了初步验证,至于有没有其他漏洞或影响,希望社区各位大神或总部专业人士给予指点。

赞 8