From 16ba2c92a00691caf3a103a6dd885bd890c79c22 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Mon, 8 Apr 2019 10:04:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AF=B9=20.json=20.xml=20?= =?UTF-8?q?=E5=90=8E=E7=BC=80=E7=9A=84URI=E4=BC=9A=E8=AF=9D=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E5=90=8E=E4=BC=A0=E9=80=92=E6=94=AF=E6=8C=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jeesite/common/web/http/ServletUtils.java | 3 ++- .../shiro/filter/PermissionsAuthorizationFilter.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java b/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java index 158a6d0d..8f23892a 100644 --- a/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java +++ b/common/src/main/java/com/jeesite/common/web/http/ServletUtils.java @@ -110,7 +110,8 @@ public class ServletUtils { } String uri = request.getRequestURI(); - if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")){ + if (StringUtils.endsWithIgnoreCase(uri, ".json") + || StringUtils.endsWithIgnoreCase(uri, ".xml")){ return true; } diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java b/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java index 3ba516a2..27f6a26c 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/filter/PermissionsAuthorizationFilter.java @@ -73,6 +73,14 @@ public class PermissionsAuthorizationFilter extends org.apache.shiro.web.filter. } if (ServletUtils.isAjaxRequest(req)) { try { + String uri = req.getRequestURI(); + if (StringUtils.endsWithIgnoreCase(uri, ".json") + && !StringUtils.endsWithIgnoreCase(loginUrl, ".json")){ + loginUrl += ".json"; + }else if (StringUtils.endsWithIgnoreCase(uri, ".xml") + && !StringUtils.endsWithIgnoreCase(loginUrl, ".xml")){ + loginUrl += ".xml"; + } request.getRequestDispatcher(loginUrl).forward( new GetHttpServletRequestWrapper(request), response); } catch (ServletException e) {