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

live.lingting.component.security.web.exception.SecurityExceptionHandler Maven / Gradle / Ivy

package live.lingting.component.security.web.exception;

import live.lingting.component.security.exception.AuthorizationException;
import live.lingting.component.security.exception.PermissionsException;
import live.lingting.component.core.R;
import live.lingting.component.core.enums.GlobalResultCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author lingting 2022/9/21 15:55
 */
@Slf4j
@RestControllerAdvice
@ResponseStatus(HttpStatus.OK)
@Order(Ordered.HIGHEST_PRECEDENCE)
public class SecurityExceptionHandler {

	/**
	 * 鉴权异常
	 */
	@ExceptionHandler(AuthorizationException.class)
	public R handlerAuthorizationException(AuthorizationException e) {
		log.error("鉴权异常! {}", e.getMessage());
		return R.failed(GlobalResultCode.UNAUTHORIZED_ERROR);
	}

	/**
	 * 权限异常
	 */
	@ExceptionHandler(PermissionsException.class)
	public R handlerPermissionsException(PermissionsException e) {
		log.error("权限异常! {}", e.getMessage());
		return R.failed(GlobalResultCode.FORBIDDEN_ERROR);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy