Browse Source

perf: 优化登录提示

master
wangxiang 2 years ago
parent
commit
fa0a693cc5
  1. 6
      kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/api/R.java
  2. 6
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
  3. 3
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
  4. 3
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
  5. 2
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java
  6. 4
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java
  7. 5
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java

6
kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/api/R.java

@ -27,15 +27,15 @@ public class R<T> implements Serializable { @@ -27,15 +27,15 @@ public class R<T> implements Serializable {
/**
* 成功标记
*/
private static Integer SUCCESS = 200;
public static Integer SUCCESS = 200;
/**
* 失败标记
*/
private static Integer FAIL = 500;
public static Integer FAIL = 500;
/**
* 未认证
*/
private static Integer UNAUTH = 401;
public static Integer UNAUTH = 401;
@Getter
@Setter

6
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java

@ -7,6 +7,7 @@ import com.cloud.kicc.common.core.constant.CommonConstants; @@ -7,6 +7,7 @@ import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
import com.cloud.kicc.system.api.entity.User;
import org.springframework.core.Ordered;
import org.springframework.security.core.GrantedAuthority;
@ -54,6 +55,11 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered { @@ -54,6 +55,11 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
* @return UserDetails
*/
default UserDetails getUserDetails(R<User> result) {
// 验证请求是否成功
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException(result.getMsg());
}
User user = result.getData();
Set<String> dbAuthsSet = new HashSet<>();

3
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java

@ -35,9 +35,6 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService { @@ -35,9 +35,6 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
@SneakyThrows
public UserDetails loadUserByUsername(String phone) {
R<User> result = remoteUserService.selectByPhone(phone, SecurityConstants.FROM_IN);
if (result == null || result.getData() == null) {
throw new SecurityCheckedException("手机号不存在!");
}
UserDetails userDetails = getUserDetails(result);
return userDetails;
}

3
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java

@ -36,9 +36,6 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService { @@ -36,9 +36,6 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
@SneakyThrows
public UserDetails loadUserByUsername(String username) {
R<User> result = remoteUserService.selectByUserName(username, SecurityConstants.FROM_IN);
if (result == null || result.getData() == null) {
throw new SecurityCheckedException("用户不存在!");
}
UserDetails userDetails = getUserDetails(result);
return userDetails;
}

2
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java

@ -48,7 +48,7 @@ public class AppController { @@ -48,7 +48,7 @@ public class AppController {
public R<User> selectByPhone(@PathVariable String phone) {
User user = userService.getOne(Wrappers.<User>query().lambda().eq(User::getPhone, phone));
if (user == null) {
return R.error(String.format("用户信息手机号为%s为空,请检查当前多租户下是否有当前用户信息!", phone));
return R.error("该手机号不存在,请注册!");
}
return R.ok(userService.getUserAuthority(user));
}

4
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

@ -112,7 +112,7 @@ public class UserController { @@ -112,7 +112,7 @@ public class UserController {
public R getUser(@PathVariable("id") String id) {
User user = userService.getById(id);
if (user == null) {
return R.error(String.format("用户信息%s为空,请检查当前多租户下是否有当前用户信息!", id));
return R.error("该用户不存在,请注册!");
}
return R.ok(userService.getUserAuthority(user));
}
@ -165,7 +165,7 @@ public class UserController { @@ -165,7 +165,7 @@ public class UserController {
public R selectByUserName(@PathVariable String userName) {
User user = userService.getOne(Wrappers.<User>query().lambda().eq(User::getUserName, userName));
if (user == null) {
return R.error(String.format("用户信息%s为空,请检查当前多租户下是否有当前用户信息!", userName));
return R.error("该用户不存在,请注册!");
}
return R.ok(userService.getUserAuthority(user));
}

5
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java

@ -99,7 +99,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -99,7 +99,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
});
// 检测多租户信息是否存在,不存在抛出异常
if (tenantCode.size() == 0) {
throw new CheckedException("当前用户多租户不存在,请联系统管理员检查多租户是否过期或者冻结!");
throw new CheckedException("该用户下不存在多租户,请联系统管理员进行配置。");
}
user.setTenantId(String.join(",", tenantCode));
user.setPermissions(ArrayUtil.toArray(permissions, String.class));
@ -110,9 +110,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -110,9 +110,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
public User getCurrentUserInfo() {
User user = super.getOne(Wrappers.<User>query().lambda().eq(User::getId, SecurityUtils.getUser().getId()));
this.getUserAuthority(user);
if (user == null) {
throw new CheckedException("用户信息为空,请检查当前多租户下是否有当前用户信息!");
}
return user;
}

Loading…
Cancel
Save