diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java index 5df33fa3..8e48a971 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java @@ -25,9 +25,7 @@ public class StpInException { @ExceptionHandler(NotLoginException.class) @ResponseBody public AjaxResult handleNotLoginException(NotLoginException e){ - String msg = e.getMessage().split(":")[0]; - msg = msg.replaceFirst("Token", "您"); - msg = msg.trim().equals("") ? HttpEnum.TOKEN_INVALID.getMsg() : msg; + String msg = e.getMessage().startsWith("Token无效") ? "尚未登录,请先登录!" : e.getMessage(); return AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), msg); } diff --git a/server/like-front/src/main/java/com/mdd/front/config/stp/StpInException.java b/server/like-front/src/main/java/com/mdd/front/config/stp/StpInException.java new file mode 100644 index 00000000..42ed5801 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/config/stp/StpInException.java @@ -0,0 +1,42 @@ +package com.mdd.front.config.stp; + +import cn.dev33.satoken.exception.NotLoginException; +import cn.dev33.satoken.exception.NotPermissionException; +import com.mdd.common.core.AjaxResult; +import com.mdd.common.enums.HttpEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; + +/** + * Sa-Token的异常拦截 + */ +@Slf4j +@ControllerAdvice +public class StpInException { + + /** + * 拦截登录异常 + */ + @ResponseStatus(HttpStatus.OK) + @ExceptionHandler(NotLoginException.class) + @ResponseBody + public AjaxResult handleNotLoginException(NotLoginException e){ + String msg = e.getMessage().startsWith("Token无效") ? "尚未登录,请先登录!" : e.getMessage(); + return AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), msg); + } + + /** + * 拦截权限异常 + */ + @ResponseStatus(HttpStatus.OK) + @ExceptionHandler(NotPermissionException.class) + @ResponseBody + public AjaxResult handleNotPermissionException(){ + return AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), HttpEnum.NO_PERMISSION.getMsg()); + } + +}