接到新需求,需要实现用户多次登录失败后锁定用户。刚开始想的是在用户数据库中加一个字段login_time,根据这个login_time来决定是否锁定用户以及锁定多长时间。但是我尝试在用户表中新增字段失败了,由于用户数据库是同组其他人完成的,加之自己目前对django的数据库操作不是特别熟练,在数据表中添加字段的时候报错了,也不知道怎么改。
可以看到login_time字段并没有被成功加入
于是只能转变思路,我想既然session是存在服务端的,能不能通过session中的字段实现这个功能呢?只要再session中添加一个键lose_time表示登录失败的次数,当lose_time>=3的时候一定时间内不让这个用户再登录就可以了,经过写代码测试,的确可以实现这个功能。
后面只需要把这个逻辑整合到项目中就OK了
后端实现用户多次登陆失败锁定账户
最新推荐文章于 2024-06-14 18:04:28 发布
文章讲述了在Django项目中遇到的新需求,即用户多次登录失败后自动锁定账户。作者首先尝试在用户数据库添加login_time字段来跟踪失败次数和锁定时间,但由于不熟悉Django的数据库操作导致失败。随后,作者转向使用Session来存储lose_time字段,当登录失败超过3次时阻止用户登录,这种方法经过测试可行,下一步计划将此逻辑整合进项目。
摘要由CSDN通过智能技术生成