|
...
|
...
|
@@ -9,10 +9,8 @@ import com.ruoyi.common.exception.user.UserPasswordNotMatchException; |
|
|
|
import com.ruoyi.common.utils.*;
|
|
|
|
import com.ruoyi.common.utils.ip.IpUtils;
|
|
|
|
import com.ruoyi.system.domain.entity.SysUser;
|
|
|
|
import com.ruoyi.system.login.dto.ApiLoginUser;
|
|
|
|
import com.ruoyi.system.login.dto.SysLoginUser;
|
|
|
|
import com.ruoyi.system.login.dto.Yu2leUserLogin;
|
|
|
|
import com.ruoyi.system.login.dto.Yu2leLoginToken;
|
|
|
|
import com.ruoyi.system.domain.tool.SysLogininforType;
|
|
|
|
import com.ruoyi.system.login.dto.*;
|
|
|
|
import com.ruoyi.system.login.manager.AsyncManager;
|
|
|
|
import com.ruoyi.system.login.manager.factory.AsyncFactory;
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
...
|
...
|
@@ -64,9 +62,10 @@ public class LoginService { |
|
|
|
// validateCaptcha(username, code, uuid);
|
|
|
|
// }
|
|
|
|
// 用户验证
|
|
|
|
Authentication authentication = userPasswordVerification(username,password);
|
|
|
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("sysuser.login.success")));
|
|
|
|
Authentication authentication = userPasswordVerification(username,password,SysLogininforType.lhAdmin);
|
|
|
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username,SysLogininforType.lhAdmin, Constants.LOGIN_SUCCESS, MessageUtils.message("sysuser.login.success")));
|
|
|
|
SysLoginUser loginUser = (SysLoginUser) authentication.getPrincipal();
|
|
|
|
loginUser.setSysLogininforType(SysLogininforType.lhAdmin);
|
|
|
|
recordLoginInfo(loginUser.getUserId());
|
|
|
|
// 生成token
|
|
|
|
return tokenService.createToken(loginUser);
|
|
...
|
...
|
@@ -80,10 +79,15 @@ public class LoginService { |
|
|
|
*/
|
|
|
|
public String apiLoginByPass(String user,String pass) {
|
|
|
|
// 用户验证
|
|
|
|
Authentication authentication = userPasswordVerification(user,pass);
|
|
|
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(user, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
|
|
|
Authentication authentication = userPasswordVerification(user,pass,SysLogininforType.lhApi);
|
|
|
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(user, SysLogininforType.lhApi, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
|
|
|
ApiLoginUser loginUser = (ApiLoginUser) authentication.getPrincipal();
|
|
|
|
recordLoginInfo(loginUser.getUserId());
|
|
|
|
loginUser.setSysLogininforType(SysLogininforType.lhApi);
|
|
|
|
Yu2leUserInfo yu2leUserInfo = new Yu2leUserInfo();
|
|
|
|
yu2leUserInfo.setId(loginUser.getUserId().intValue());
|
|
|
|
yu2leUserInfo.setLastLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
|
|
|
|
yu2leUserInfo.setLastLoginTime(DateUtils.getNowTimeMilly());
|
|
|
|
publicService.updateObjectByTable(yu2leUserInfo,"id","`liu_yu_le`.`user_info`");
|
|
|
|
return tokenService.createToken(loginUser);
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -136,17 +140,17 @@ public class LoginService { |
|
|
|
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,SysLogininforType.lhAdmin, 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,SysLogininforType.lhAdmin, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
|
|
|
|
throw new CaptchaException();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private Authentication userPasswordVerification(String username,String password)
|
|
|
|
private Authentication userPasswordVerification(String username,String password,SysLogininforType type)
|
|
|
|
{
|
|
|
|
Authentication authentication = null;
|
|
|
|
try
|
|
...
|
...
|
@@ -159,12 +163,12 @@ public class LoginService { |
|
|
|
{
|
|
|
|
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,type, 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,type, Constants.LOGIN_FAIL, e.getMessage()));
|
|
|
|
throw new ServiceException(e.getMessage());
|
|
|
|
}
|
|
|
|
}
|
...
|
...
|
|