fix: 修复 系统用户 登录时无菜单陷入死循环问题

pull/14/head
Carina 4 years ago
parent 296061707f
commit 3887fbdd0f

@ -116,10 +116,17 @@ public class LoginRestController {
// 如果验证成功, 则清除锁定信息
UserTokenUtil.clearLockAccount(form.getUsername());
// 如果不是超级管理员 并且不是系统系统用户 则进行验证
if(!StringUtils.equals(UserUtil.SUPER_ADMIN, user.getUsername()) &&
!TenantUtil.SUPER_ADMIN_TENANT_ID.equals(user.getTenantId())
){
// 如果不是超级管理员 则要进行安全验证
if(!StringUtils.equals(UserUtil.SUPER_ADMIN, user.getUsername())){
// 如果不是 系统用户, 也就是租户用户 需要验证租户启用情况
if(!TenantUtil.SUPER_ADMIN_TENANT_ID.equals(user.getTenantId())){
// 验证租户是否生效
TenantModel tenant = TenantUtil.getTenant(user.getTenantId());
if(tenant == null){
throw new TokenException(TokenMsg.EXCEPTION_LOGIN_TENANT_NOT_USABLE);
}
}
// 账号锁定验证
if(StringUtils.isEmpty(user.getEnable()) ||
@ -128,12 +135,6 @@ 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)){

Loading…
Cancel
Save