后端实现用户多次登陆失败锁定账户

文章讲述了在Django项目中遇到的新需求,即用户多次登录失败后自动锁定账户。作者首先尝试在用户数据库添加login_time字段来跟踪失败次数和锁定时间,但由于不熟悉Django的数据库操作导致失败。随后,作者转向使用Session来存储lose_time字段,当登录失败超过3次时阻止用户登录,这种方法经过测试可行,下一步计划将此逻辑整合进项目。
摘要由CSDN通过智能技术生成

接到新需求,需要实现用户多次登录失败后锁定用户。刚开始想的是在用户数据库中加一个字段login_time,根据这个login_time来决定是否锁定用户以及锁定多长时间。但是我尝试在用户表中新增字段失败了,由于用户数据库是同组其他人完成的,加之自己目前对django的数据库操作不是特别熟练,在数据表中添加字段的时候报错了,也不知道怎么改。
在这里插入图片描述
在这里插入图片描述
可以看到login_time字段并没有被成功加入
在这里插入图片描述
于是只能转变思路,我想既然session是存在服务端的,能不能通过session中的字段实现这个功能呢?只要再session中添加一个键lose_time表示登录失败的次数,当lose_time>=3的时候一定时间内不让这个用户再登录就可以了,经过写代码测试,的确可以实现这个功能。
在这里插入图片描述
后面只需要把这个逻辑整合到项目中就OK了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值