From ab7b4461f0335d2a3175f958bc9cc0108ae8d4a8 Mon Sep 17 00:00:00 2001 From: choisaaaa Date: Sat, 28 Jul 2018 18:05:41 +0800 Subject: [PATCH] =?UTF-8?q?update=20for=20AdminInterceptor.java=EF=BC=88?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87=E4=B8=8A=E4=BC=A0=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/interceptor/AdminInterceptor.java | 48 ++++++++++--------- .../interceptor/AuthorityInterceptor.java | 2 + src/main/resources/spring/spring-other.xml | 1 + 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/mark/controller/common/interceptor/AdminInterceptor.java b/src/main/java/com/mark/controller/common/interceptor/AdminInterceptor.java index ee4ff88..a26500f 100644 --- a/src/main/java/com/mark/controller/common/interceptor/AdminInterceptor.java +++ b/src/main/java/com/mark/controller/common/interceptor/AdminInterceptor.java @@ -5,6 +5,7 @@ import com.mark.common.ServerResponse; import com.mark.pojo.Admin; import com.mark.util.CookieUtil; import com.mark.util.JsonUtil; +import com.mark.util.PropertiesUtil; import com.mark.util.RedisShardedPoolUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -21,30 +22,33 @@ import java.util.Map; * 实现的功能是如果是以admin身份进来,不能执行写操作 */ public class AdminInterceptor implements HandlerInterceptor { + final String Origin = PropertiesUtil.getProperty("admin.origin"); + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - request.setCharacterEncoding("utf-8");//防止请求信息的中文乱码 - Admin currentAdmin = null; - String adminLoginToken = CookieUtil.readAdminLoginToken(request); - if (StringUtils.isNotEmpty(adminLoginToken)) { - String adminJsonStr = RedisShardedPoolUtil.get(adminLoginToken); - currentAdmin = JsonUtil.string2Obj(adminJsonStr, Admin.class); - } - if (currentAdmin == null) { - PrintWriter out = response.getWriter(); - out.print(JsonUtil.obj2String(ServerResponse.createByNeedLogin())); - out.flush(); - out.close();// 这里要关闭 - return false; - } else if (currentAdmin.getAdminName().equals("admin")) { - PrintWriter out = response.getWriter(); - Map resultMap = Maps.newHashMap(); - resultMap.put("status", 1); - resultMap.put("msg", "Sorry !The operation failed because you did not have permission"); - out.print(JsonUtil.obj2String(resultMap)); - out.flush(); - out.close();// 这里要关闭 - return false; + if (request.getHeader("Origin").equals(Origin)) { + Admin currentAdmin = null; + String adminLoginToken = CookieUtil.readAdminLoginToken(request); + if (StringUtils.isNotEmpty(adminLoginToken)) { + String adminJsonStr = RedisShardedPoolUtil.get(adminLoginToken); + currentAdmin = JsonUtil.string2Obj(adminJsonStr, Admin.class); + } + if (currentAdmin == null) { + PrintWriter out = response.getWriter(); + out.print(JsonUtil.obj2String(ServerResponse.createByNeedLogin())); + out.flush(); + out.close();// 这里要关闭 + return false; + } else if (currentAdmin.getAdminName().equals("admin")) { + PrintWriter out = response.getWriter(); + Map resultMap = Maps.newHashMap(); + resultMap.put("status", 1); + resultMap.put("msg", "Sorry !The operation failed because you did not have permission"); + out.print(JsonUtil.obj2String(resultMap)); + out.flush(); + out.close();// 这里要关闭 + return false; + } } return true; } diff --git a/src/main/java/com/mark/controller/common/interceptor/AuthorityInterceptor.java b/src/main/java/com/mark/controller/common/interceptor/AuthorityInterceptor.java index 1fdd490..cafd6f6 100644 --- a/src/main/java/com/mark/controller/common/interceptor/AuthorityInterceptor.java +++ b/src/main/java/com/mark/controller/common/interceptor/AuthorityInterceptor.java @@ -27,6 +27,8 @@ import java.util.Map; */ @Slf4j public class AuthorityInterceptor implements HandlerInterceptor{ + + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod handlerMethod = (HandlerMethod) handler; diff --git a/src/main/resources/spring/spring-other.xml b/src/main/resources/spring/spring-other.xml index 84b0acd..ebb1356 100644 --- a/src/main/resources/spring/spring-other.xml +++ b/src/main/resources/spring/spring-other.xml @@ -33,6 +33,7 @@ + -- Gitee