feat:修改server配置

This commit is contained in:
xiang
2025-09-05 23:39:42 +08:00
parent ff79db96f7
commit 7e011672a1
3 changed files with 62 additions and 2 deletions

View File

@@ -4,8 +4,6 @@ import com.nimbusds.jose.jwk.JWKSet;
import com.nimbusds.jose.jwk.RSAKey;
import com.nimbusds.jose.jwk.source.JWKSource;
import com.nimbusds.jose.proc.SecurityContext;
import com.xiang.xservice.basic.exception.CustomAccessDeniedHandler;
import com.xiang.xservice.basic.exception.CustomAuthenticationEntryPoint;
import com.xiang.xservice.basic.utils.JwkUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -0,0 +1,32 @@
package com.xiang.xservice.auth.service.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xiang.xservice.basic.common.resp.Result;
import com.xiang.xservice.basic.exception.code.ErrorCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用户403鉴权失败异常捕获
*/
@Slf4j
@Component
public class CustomAccessDeniedHandler implements AccessDeniedHandler {
@Override
public void handle(HttpServletRequest request,
HttpServletResponse response,
AccessDeniedException accessDeniedException) throws IOException, ServletException {
response.setContentType("application/json;charset=UTF-8");
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
log.error("======用户鉴权失败======");
Result<Void> result = Result.error(ErrorCode.USER_DENIED_ACCESS);
response.getWriter().write(new ObjectMapper().writeValueAsString(result));
}
}

View File

@@ -0,0 +1,30 @@
package com.xiang.xservice.auth.service.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xiang.xservice.basic.common.resp.Result;
import com.xiang.xservice.basic.exception.code.ErrorCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用户未鉴权异常处理器
*/
@Slf4j
@Component
public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
response.setContentType("application/json;charset=UTF-8");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
log.error("========用户未进行验证鉴权==========");
Result<Void> result = Result.error(ErrorCode.NOT_AUTHORIZATION);
response.getWriter().write(new ObjectMapper().writeValueAsString(result));
}
}