From 294ddbf4bc1033d4d175c1fa2c64a2147c2dcc6d Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Thu, 16 Mar 2023 18:33:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mdd/admin/config/stp/StpInException.java | 4 +- .../mdd/front/config/stp/StpInException.java | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 server/like-front/src/main/java/com/mdd/front/config/stp/StpInException.java 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()); + } + +}