diff --git a/ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java b/ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java index 3a6152d5a..159ac873d 100644 --- a/ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java +++ b/ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java @@ -28,12 +28,11 @@ import java.util.List; /** * 登录校验方法 - * + * * @author ruoyi */ @Component -public class SysLoginService -{ +public class SysLoginService { @Autowired private TokenService tokenService; @@ -45,45 +44,36 @@ public class SysLoginService /** * 登录验证 - * + * * @param username 用户名 * @param password 密码 - * @param captcha 验证码 - * @param uuid 唯一标识 + * @param captcha 验证码 + * @param uuid 唯一标识 * @return 结果 */ - public String login(String username, String password, String code, String uuid) - { + public String login(String username, String password, String code, String uuid) { String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; String captcha = redisCache.getCacheObject(verifyKey); redisCache.deleteObject(verifyKey); - if (captcha == null) - { + if (captcha == null) { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"))); throw new CaptchaExpireException(); } - if (!code.equalsIgnoreCase(captcha)) - { + if (!code.equalsIgnoreCase(captcha)) { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); throw new CaptchaException(); } // 用户验证 Authentication authentication = null; - try - { + try { // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername authentication = authenticationManager .authenticate(new UsernamePasswordAuthenticationToken(username, password)); - } - catch (Exception e) - { - if (e instanceof BadCredentialsException) - { + } catch (Exception e) { + if (e instanceof BadCredentialsException) { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); throw new UserPasswordNotMatchException(); - } - else - { + } else { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage())); throw new CustomException(e.getMessage()); } @@ -93,14 +83,13 @@ public class SysLoginService List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>(); for (String key : keys) { LoginUser user = redisCache.getCacheObject(key); - if (StringUtils.isNotEmpty(username) && StringUtils.isNotNull(user.getUser())) - { - if (StringUtils.equals(username, user.getUsername())) - { + if (StringUtils.isNotEmpty(username) && StringUtils.isNotNull(user.getUser())) { + if (StringUtils.equals(username, user.getUsername())) { //存在已经登录用户,抛出异常 - CustomException alreadyLoginExcep = new CustomException("该账号已在别处登陆", HttpStatus.ALREADY_LOGIN); - alreadyLoginExcep.setObj(username); - throw alreadyLoginExcep; +// CustomException alreadyLoginExcep = new CustomException("该账号已在别处登陆", HttpStatus.ALREADY_LOGIN); +// alreadyLoginExcep.setObj(username); +// throw alreadyLoginExcep; + redisCache.deleteObject(key); } } }