perf: 优化登录验证处理

pull/9/head
Carina 4 years ago
parent bac08028c5
commit 3d139772ea

@ -110,8 +110,6 @@ public class LoginRestController {
// 如果验证成功, 则清除锁定信息
UserTokenUtil.clearLockAccount(form.getUsername());
// 如果不是超级管理员
if(!StringUtils.equals(UserUtil.SUPER_ADMIN, user.getUsername())){
// 账号锁定验证
@ -121,12 +119,25 @@ public class LoginRestController {
throw new TokenException(TokenMsg.EXCEPTION_LOGIN_ACCOUNT_LOCKED);
}
// 租户启用验证
// 验证租户是否生效
TenantModel tenant = TenantUtil.getTenant(user.getTenantId());
if(tenant == null){
// 租户未启用,请联系管理员
throw new TokenException(TokenMsg.EXCEPTION_LOGIN_TENANT_NOT_USABLE);
}
// 检测用户是否有角色
List<String> roleModelList = UserUtil.getUserRolesByUserId(user.getId());
if(CollUtil.isEmpty(roleModelList)){
// 用户暂无角色,请设置后登录
throw new TokenException(TokenMsg.EXCEPTION_USER_ROLE_NOT_NULL);
}
// 检测用户是否有角色菜单
List<MenuModel> menuModelList = UserUtil.getMenuListByUserId(user.getId());
if(CollUtil.isEmpty(menuModelList)){
// 用户暂无角色菜单,请设置后登录
throw new TokenException(TokenMsg.EXCEPTION_USER_MENU_NOT_NULL);
}
}
// 失败次数超过 验证次数阈值 开启验证码验证
@ -135,20 +146,6 @@ public class LoginRestController {
CaptchaUtil.delCaptcha(form.getUuid());
}
// 检测用户是否有角色
List<String> roleModelList = UserUtil.getUserRolesByUserId(user.getId());
if(CollUtil.isEmpty(roleModelList)){
// 用户暂无角色,请设置后登录
throw new TokenException(TokenMsg.EXCEPTION_USER_ROLE_NOT_NULL);
}
// 检测用户是否有角色菜单
List<MenuModel> menuModelList = UserUtil.getMenuListByUserId(user.getId());
if(CollUtil.isEmpty(menuModelList)){
// 用户暂无角色菜单,请设置后登录
throw new TokenException(TokenMsg.EXCEPTION_USER_MENU_NOT_NULL);
}
//生成token并保存到Redis
ResultVo<UserTokenUtil.TokenRet> resultVo = UserTokenUtil.createToken(user);
if(resultVo.isSuccess()){

Loading…
Cancel
Save