Browse Source

perf: 调整登录提示

master
wangxiang 2 years ago
parent
commit
9f89df5f86
  1. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/ForbiddenException.java
  2. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/InvalidException.java
  3. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/KiccAuth2Exception.java
  4. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/MethodNotAllowed.java
  5. 36
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/SecurityCheckedException.java
  6. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/ServerErrorException.java
  7. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/TokenInvalidException.java
  8. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/UnauthorizedException.java
  9. 2
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java
  10. 9
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/KiccWebResponseExceptionTranslator.java
  11. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
  12. 4
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/ForbiddenException.java

@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus; @@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus;
public class ForbiddenException extends KiccAuth2Exception {
public ForbiddenException(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/InvalidException.java

@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
public class InvalidException extends KiccAuth2Exception {
public InvalidException(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

4
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/KiccAuth2Exception.java

@ -22,6 +22,10 @@ public class KiccAuth2Exception extends OAuth2Exception { @@ -22,6 +22,10 @@ public class KiccAuth2Exception extends OAuth2Exception {
super(msg);
}
public KiccAuth2Exception(String msg, Throwable t) {
super(msg, t);
}
public KiccAuth2Exception(String msg, String errorCode) {
super(msg);
this.errorCode = errorCode;

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/MethodNotAllowed.java

@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus; @@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus;
public class MethodNotAllowed extends KiccAuth2Exception {
public MethodNotAllowed(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

36
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/SecurityCheckedException.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
package com.cloud.kicc.common.security.exception;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.http.HttpStatus;
/**
*<p>
* 安全检查异常
* 可绕过前端设置的状态码提示消息
*</p>
*
* @Author: entfrm开发团队-王翔
* @Date: 2022/2/18
*/
@JsonSerialize(using = KiccAuth2ExceptionSerializer.class)
public class SecurityCheckedException extends KiccAuth2Exception {
public SecurityCheckedException(String msg) {
super(msg);
}
public SecurityCheckedException(String msg, Throwable t) {
super(msg, t);
}
@Override
public String getOAuth2ErrorCode() {
return "checked_not_pass";
}
@Override
public int getHttpErrorCode() {
return HttpStatus.NETWORK_AUTHENTICATION_REQUIRED.value();
}
}

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/ServerErrorException.java

@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus; @@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus;
public class ServerErrorException extends KiccAuth2Exception {
public ServerErrorException(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/TokenInvalidException.java

@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus; @@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus;
public class TokenInvalidException extends KiccAuth2Exception {
public TokenInvalidException(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/exception/UnauthorizedException.java

@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus; @@ -15,7 +15,7 @@ import org.springframework.http.HttpStatus;
public class UnauthorizedException extends KiccAuth2Exception {
public UnauthorizedException(String msg, Throwable t) {
super(msg);
super(msg, t);
}
@Override

2
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java

@ -112,8 +112,6 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica @@ -112,8 +112,6 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
throw ex;
} catch (InternalAuthenticationServiceException ex) {
throw ex;
} catch (Exception ex) {
throw new InternalAuthenticationServiceException(ex.getMessage(), ex);
}
}

9
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/KiccWebResponseExceptionTranslator.java

@ -55,14 +55,17 @@ public class KiccWebResponseExceptionTranslator implements WebResponseExceptionT @@ -55,14 +55,17 @@ public class KiccWebResponseExceptionTranslator implements WebResponseExceptionT
return handleOAuth2Exception(new TokenInvalidException(ase.getMessage(), ase));
}
ase = (HttpRequestMethodNotSupportedException) throwableAnalyzer
.getFirstThrowableOfType(HttpRequestMethodNotSupportedException.class, causeChain);
ase = (HttpRequestMethodNotSupportedException) throwableAnalyzer.getFirstThrowableOfType(HttpRequestMethodNotSupportedException.class, causeChain);
if (ase != null) {
return handleOAuth2Exception(new MethodNotAllowed(ase.getMessage(), ase));
}
ase = (OAuth2Exception) throwableAnalyzer.getFirstThrowableOfType(OAuth2Exception.class, causeChain);
ase = (SecurityCheckedException) throwableAnalyzer.getFirstThrowableOfType(SecurityCheckedException.class, causeChain);
if (ase != null) {
return handleOAuth2Exception(new SecurityCheckedException(ase.getMessage(), ase));
}
ase = (OAuth2Exception) throwableAnalyzer.getFirstThrowableOfType(OAuth2Exception.class, causeChain);
if (ase != null) {
return handleOAuth2Exception((OAuth2Exception) ase);
}

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

@ -3,6 +3,7 @@ package com.cloud.kicc.common.security.service.impl; @@ -3,6 +3,7 @@ package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService;
@ -10,7 +11,6 @@ import lombok.RequiredArgsConstructor; @@ -10,7 +11,6 @@ import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
/**
*<p>
@ -36,7 +36,7 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService { @@ -36,7 +36,7 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
public UserDetails loadUserByUsername(String phone) {
R<User> result = remoteUserService.selectByPhone(phone, SecurityConstants.FROM_IN);
if (result == null || result.getData() == null) {
throw new UsernameNotFoundException("手机号不存在!");
throw new SecurityCheckedException("手机号不存在!");
}
UserDetails userDetails = getUserDetails(result);
return userDetails;

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

@ -2,6 +2,7 @@ package com.cloud.kicc.common.security.service.impl; @@ -2,6 +2,7 @@ package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService;
@ -10,7 +11,6 @@ import lombok.SneakyThrows; @@ -10,7 +11,6 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
/**
*<p>
@ -37,7 +37,7 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService { @@ -37,7 +37,7 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
public UserDetails loadUserByUsername(String username) {
R<User> result = remoteUserService.selectByUserName(username, SecurityConstants.FROM_IN);
if (result == null || result.getData() == null) {
throw new UsernameNotFoundException("用户不存在!");
throw new SecurityCheckedException("用户不存在!");
}
UserDetails userDetails = getUserDetails(result);
return userDetails;

Loading…
Cancel
Save