All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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