|
@@ -85,17 +85,18 @@ public class SysLoginService {
|
|
|
authentication = authenticationManager.authenticate(authenticationToken);
|
|
|
} catch (Exception e) {
|
|
|
if (e instanceof BadCredentialsException) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
throw new UserPasswordNotMatchException();
|
|
|
} else {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, e.getMessage()));
|
|
|
throw new ServiceException(e.getMessage());
|
|
|
}
|
|
|
} finally {
|
|
|
AuthenticationContextHolder.clearContext();
|
|
|
}
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
|
|
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,loginUser.getUser().getNickName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
|
|
+
|
|
|
recordLoginInfo(loginUser.getUserId());
|
|
|
// 生成token
|
|
|
return tokenService.createToken(loginUser);
|
|
@@ -116,11 +117,11 @@ public class SysLoginService {
|
|
|
String captcha = redisCache.getCacheObject(verifyKey);
|
|
|
redisCache.deleteObject(verifyKey);
|
|
|
if (captcha == null) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
|
|
|
throw new CaptchaExpireException();
|
|
|
}
|
|
|
if (!code.equalsIgnoreCase(captcha)) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
|
|
|
throw new CaptchaException();
|
|
|
}
|
|
|
}
|
|
@@ -135,25 +136,25 @@ public class SysLoginService {
|
|
|
public void loginPreCheck(String username, String password) {
|
|
|
// 用户名或密码为空 错误
|
|
|
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("not.null")));
|
|
|
throw new UserNotExistsException();
|
|
|
}
|
|
|
// 密码如果不在指定范围内 错误
|
|
|
if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
|
|
|
|| password.length() > UserConstants.PASSWORD_MAX_LENGTH) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
throw new UserPasswordNotMatchException();
|
|
|
}
|
|
|
// 用户名不在指定范围内 错误
|
|
|
if (username.length() < UserConstants.USERNAME_MIN_LENGTH
|
|
|
|| username.length() > UserConstants.USERNAME_MAX_LENGTH) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
|
|
throw new UserPasswordNotMatchException();
|
|
|
}
|
|
|
// IP黑名单校验
|
|
|
String blackStr = configService.selectConfigByKey("sys.login.blackIPList");
|
|
|
if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) {
|
|
|
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("login.blocked")));
|
|
|
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,"", Constants.LOGIN_FAIL, MessageUtils.message("login.blocked")));
|
|
|
throw new BlackListException();
|
|
|
}
|
|
|
}
|