| 123456789101112131415161718192021222324252627282930313233 |
- package space.anyi.serve.handler.security;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import jakarta.servlet.ServletException;
- import jakarta.servlet.http.HttpServletRequest;
- import jakarta.servlet.http.HttpServletResponse;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.MediaType;
- import org.springframework.security.access.AccessDeniedException;
- import org.springframework.security.web.access.AccessDeniedHandler;
- import org.springframework.stereotype.Component;
- import space.anyi.serve.entity.Response;
- import java.io.IOException;
- @Component
- public class JwtAccessDeniedHandler implements AccessDeniedHandler {
- private final ObjectMapper objectMapper;
- public JwtAccessDeniedHandler(ObjectMapper objectMapper) {
- this.objectMapper = objectMapper;
- }
- @Override
- public void handle(HttpServletRequest request,
- HttpServletResponse response,
- AccessDeniedException accessDeniedException) throws IOException, ServletException {
- response.setStatus(HttpStatus.FORBIDDEN.value());
- response.setContentType(MediaType.APPLICATION_JSON_VALUE);
- response.getWriter().write(objectMapper.writeValueAsString(Response.error("无权限访问")));
- }
- }
|