@ApiOperation(value = "用户登录", notes = "用户登录", httpMethod = "POST")@PostMapping({"/login"})public ResultVO login(@ApiParam(name = "username", value = "用户名", required = true) @RequestParam String username,@ApiParam(name = "password", value = "密码", required = true) @RequestParam String password,@ApiParam(name = "rememberMe", value = "记住密码", required = false) @RequestParam(value = "rememberMe", required = false, defaultValue = "false") boolean rememberMe) {SysUser user = sysUserService.findByUsername(username);if(ObjectUtils.isNotEmpty(user) && user.getLoginCount()>=5){if(user.getLoginCount()==5){Const.pool.execute(new HandlerThread(user));}return ResultVOUtil.error(ResultEnum.LOGIN_FREEZE.getMessage());}Subject subject = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(username, password);try {token.setRememberMe(rememberMe);subject.login((AuthenticationToken) token);subject.getSession().setTimeout(-1000L);} catch (AuthenticationException e) {if(ObjectUtils.isNotEmpty(user)){user.setLoginCount(user.getLoginCount()==null?1:user.getLoginCount()+1);sysUserService.saveOrUpdate(user);}return ResultVOUtil.error(ResultEnum.LOGIN_FAIL.getMessage());}//更新最后一个登录时间user.setLastLoginTime(LocalDateTime.now());sysUserService.saveOrUpdate(user);if (user.getEnabled().equals(0)){//判断账号是否注销return ResultVOUtil.error(ResultEnum.LOGIN_LOGOUT.getMessage());}user.setPassword("");return ResultVOUtil.success(user);}
 /*** 内部类*/private class HandlerThread implements Runnable {private SysUser user;public HandlerThread(SysUser user){this.user = user;}@SneakyThrows@Overridepublic void run() {try {Thread.sleep(1000*60*30);user.setLoginCount(0);sysUserService.updateById(user);} catch (Exception e) {e.printStackTrace();}}}

shiro用户登录密码错误超过次数,冻结账号30分钟相关推荐

  1. 2020无人用的邮箱和密码大全_Amazon后台登录密码错误!如何辨别账号是否被冻结?...

    啊你绝对不知道 这里每天都会更新一些跨境电商实时动态. 卖家经验交流,跨境平台动态研究, 曝光销售技巧,转化技巧,站外引流的方法 亚马逊后台登录密码错误,如何辨别账号是否被冻结?很多人一看到自己账号登 ...

  2. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  3. 计算机系统用户登录密码错误,电脑开机密码正确却进不去,老提示密码错误

    1capslock或num lock键被锁住了. 2可以通过取消登录密码的办法来进入系统,再重新更改密码. 一种:可以通过"PE系统安装盘"启动,在菜单上一般都有"开机密 ...

  4. linux关闭本地登录密码登录密码错误,vsftpd本地用户登录密码错误的解决方法

    今天发现自己虚拟机的vsftp使用本地用户名无法登陆,于是重新配置,但配置了很多次都没成功,一直显示 530 login incorrect. login failed 解决方式是将vsftp.con ...

  5. linux用户ftp失败,vsftpd本地用户登录密码错误的解决方法

    今天发现自己虚拟机的vsftp使用本地用户名无法登陆,于是重新配置,但配置了很多次都没成功,一直显示 530 Login incorrect. Login failed 解决方式是将vsftp.con ...

  6. php提示密码错误的代码_php 实现密码错误三次锁定账号10分钟

    直接上个代码 /** * 登录 * 1.接收数据 * 2.正则判断接收到的数据是否合理 * 3.根据用户名获取用户数据 * 获取到数据 -> 继续执行 * 没有获取到数据 -> 提示:用户 ...

  7. 使用shiro进行登录密码安全验证

    使用shiro进行登录密码安全验证 使用框架版本 SpringBoot 1.5.3.RELEASE shiro-spring 1.2.5 shiro-ehcache 1.2.5 Shiro配置 Shi ...

  8. 修改ranger ui的admin用户登录密码踩坑小记

    修改的ranger ui的admin用户登录密码时,需要在ranger的配置里把admin_password改成一样的,否则hdfs的namenode在使用admin时启动不起来,异常如下: Trac ...

  9. linux 去掉登陆密码吗,Linux 清除 Windows用户登录密码

    Linux 清除 Windows用户登录密码 [toc] 一. 环境 Windows 系统: Windows 10 win10.png Linux 系统: Parrot Linux parrot_se ...

最新文章

  1. MVC在filter中如何获取控制器名称和Action名称
  2. 如何梳理复杂系统的用户需求?
  3. 赣州光华职业技术学校计算机专业,赣州光华职业技术学校
  4. TestFlight
  5. Linux 查看进程的命令
  6. 如何设置mysql远程访问
  7. win2003 程序时间提供程序 NtpClient错误解决
  8. 聚类 6 Affinity Propagation
  9. 如何提升微服务的幸福感 | 凌云时刻
  10. 从事计算机专业的人职业道德,计算机专业技术人员职业道德建设研究
  11. 曼昆微观经济学之征税的市场本质—冰激凌篇
  12. 电商平台电子面单打印对接
  13. iOS打包导出时出现Missing iOS Distribution signing identity问题
  14. word里面的表格调整行高技巧
  15. php rewind函数,函数rewind的作用是什么
  16. C语言 程序的翻译 预处理 编译 汇编 链接 #define详解
  17. php日期格式化年月日时分秒,php Date()函数输出中文年月日时分秒
  18. css之background-attachment属性
  19. CodeBlock输出汉字为乱码的解决方法
  20. 万物互联,华为云桌面让移动办公更便捷

热门文章

  1. 热议!互联网大厂46分钟裁员内部录音曝光!“制定一个完不成的目标”、“明确他是能力不行!”...
  2. greasemonkey_使用GreaseMonkey自定义GMail
  3. 使用processing写一个仿雷电小游戏
  4. 直接发个官方自带的MarkDown编辑教程
  5. Android仿淘宝页面布局
  6. vfp中写入文本文件_将vfp中的数据写入到wps文档中
  7. TP6生成二维码,带logo和不带logo
  8. C# vs中快速生成get set方法
  9. c语言flag什么意思,flag已立是什么梗 flag是什么意思
  10. 三星I509 完美ROOT方法及删除电信定制程序