
com.luues.security.core.exception.AuthenticationException Maven / Gradle / Ivy
package com.luues.security.core.exception;
import com.luues.exception.core.Interface.adapter.ExceptionAdapter;
import com.luues.exception.core.other.ExceptionTokenGroupInvalid;
import com.luues.security.core.authentication.AccessDeniedHandler;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class AuthenticationException extends ExceptionAdapter {
@Autowired
private AccessDeniedHandler accessDeniedHandler;
@Override
@SneakyThrows
public Object exceptionHandler(HttpServletRequest request, HttpServletResponse response, Object handler, Exception e) {
if(e instanceof AccessDeniedException){
accessDeniedHandler.handle(request, response, new AccessDeniedException(e.getMessage()));
if(!response.isCommitted()){
return handler(request, response, handler, new ExceptionTokenGroupInvalid(e.getMessage()));
}
return null;
}
return handler(request, response, handler, e);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy