java登录有次数限制_[Java教程]限制登录次数

[Java教程]限制登录次数

0

2017-02-20 00:00:31

题目:有一APP客户端需要增加一个功能,限制用户输入密码登陆次数1小时内不得超过5次尝试,否则认为是在作弊,将予以保护不得用户再继续进行操作。

思路:此处应该加锁,但是加锁会影响登录效率.看题目发现用户id是作为传入参数。所以我们可不可以拿用户id作为一个锁呢?这样就只会锁住该用户,而不会锁住别人.使用Redis作为缓存,key为用户id。

其他逻辑处理代码这里省略,只写最关键的代码块:int count = Integer.parseInt(countObj.toString()); //expire:设置key的时间,第三个参数是时间的单位,这里设置为"秒" if(count == 1) redisTemplate.expire("用户id",30, TimeUnit.SECONDS); if(count <= 5) System.out.println(String.format("第%d次登录成功", count)); else System.out.println("超过5次登陆,对不起不能这么频繁登陆.");

这个解决方案是借助第三方组件实现的,主要从代码效率方面考虑,随着现代软件的不断发展,这样代码的思想使用会越来越广,所以开发的时候一定要多思考再下手写代码。

本文网址:http://www.shaoqun.com/a/302054.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

登录

0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值