From 201862351ea5a81ac1e0ce66e09abefc2299013e Mon Sep 17 00:00:00 2001 From: thinkgem Date: Tue, 14 Apr 2020 12:01:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=97=A0=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E5=8F=82=E6=95=B0=E7=94=A8=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeesite/common/web/http/ServletUtils.java | 18 +++++++++--------- .../shiro/filter/FormAuthenticationFilter.java | 6 +++--- .../modules/sys/web/LoginController.java | 13 +++++-------- 3 files changed, 17 insertions(+), 20 deletions(-) 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 74dc8dfa..080328ce 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 @@ -36,7 +36,7 @@ import com.jeesite.common.mapper.XmlMapper; */ public class ServletUtils { - public static final String DEFAULT_PARAMS_PARAM = "params"; // 登录扩展参数(JSON字符串)优先级高于扩展参数前缀 +// public static final String DEFAULT_PARAMS_PARAM = "params"; // 登录扩展参数(JSON字符串)优先级高于扩展参数前缀 public static final String DEFAULT_PARAM_PREFIX_PARAM = "param_"; // 扩展参数前缀 // 定义静态文件后缀;静态文件排除URI地址 @@ -402,14 +402,14 @@ public class ServletUtils { * @return 返回Map对象 */ public static Map getExtParams(ServletRequest request) { - Map paramMap = null; - String params = StringUtils.trim(request.getParameter(DEFAULT_PARAMS_PARAM)); - if (StringUtils.isNotBlank(params) && StringUtils.startsWith(params, "{")) { - paramMap = JsonMapper.fromJson(params, Map.class); - } else { - paramMap = getParametersStartingWith(ServletUtils.getRequest(), DEFAULT_PARAM_PREFIX_PARAM); - } - return paramMap; +// Map paramMap = null; +// String params = StringUtils.trim(request.getParameter(DEFAULT_PARAMS_PARAM)); +// if (StringUtils.isNotBlank(params) && StringUtils.startsWith(params, "{")) { +// paramMap = JsonMapper.fromJson(params, Map.class); +// } else { +// paramMap = getParametersStartingWith(request, DEFAULT_PARAM_PREFIX_PARAM); +// } + return getParametersStartingWith(request, DEFAULT_PARAM_PREFIX_PARAM); } /** diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormAuthenticationFilter.java b/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormAuthenticationFilter.java index 7511e475..6a3cf3c6 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormAuthenticationFilter.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormAuthenticationFilter.java @@ -47,7 +47,7 @@ import com.jeesite.modules.sys.utils.UserUtils; public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.FormAuthenticationFilter { public static final String DEFAULT_CAPTCHA_PARAM = "validCode"; // 验证码 - public static final String DEFAULT_PARAMS_PARAM = ServletUtils.DEFAULT_PARAMS_PARAM; // 登录附加参数(JSON字符串)优先级高于附加参数前缀 +// public static final String DEFAULT_PARAMS_PARAM = ServletUtils.DEFAULT_PARAMS_PARAM; // 登录附加参数(JSON字符串)优先级高于附加参数前缀 public static final String DEFAULT_PARAM_PREFIX_PARAM = ServletUtils.DEFAULT_PARAM_PREFIX_PARAM; // 附加参数前缀 public static final String DEFAULT_MESSAGE_PARAM = "message"; // 登录返回消息 public static final String DEFAULT_REMEMBER_USERCODE_PARAM = "rememberUserCode"; // 记住用户名 @@ -320,7 +320,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc. String username = WebUtils.getCleanParam(request, DEFAULT_USERNAME_PARAM); boolean rememberMe = WebUtils.isTrue(request, DEFAULT_REMEMBER_ME_PARAM); boolean rememberUserCode = WebUtils.isTrue(request, DEFAULT_REMEMBER_USERCODE_PARAM); - String params = WebUtils.getCleanParam(request, DEFAULT_PARAMS_PARAM); +// String params = WebUtils.getCleanParam(request, DEFAULT_PARAMS_PARAM); String exception = (String)request.getAttribute(DEFAULT_ERROR_KEY_ATTRIBUTE_NAME); String message = (String)request.getAttribute(DEFAULT_MESSAGE_PARAM); @@ -332,7 +332,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc. data.put(DEFAULT_USERNAME_PARAM, username); data.put(DEFAULT_REMEMBER_ME_PARAM, rememberMe); data.put(DEFAULT_REMEMBER_USERCODE_PARAM, rememberUserCode); - data.put(DEFAULT_PARAMS_PARAM, params); +// data.put(DEFAULT_PARAMS_PARAM, params); Map paramMap = ServletUtils.getExtParams(request); for (Entry entry : paramMap.entrySet()){ data.put(DEFAULT_PARAM_PREFIX_PARAM + entry.getKey(), entry.getValue()); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java index 9068ae34..fe9fea6d 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/LoginController.java @@ -4,7 +4,6 @@ package com.jeesite.modules.sys.web; import java.util.List; -import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -72,9 +71,8 @@ public class LoginController extends BaseController{ return loginFailure(request, response, model); } - // 获取登录失败数据 - Map data = FormAuthenticationFilter.getLoginData(request, response); - model.addAllAttributes(data); + // 获取登录数据 + model.addAllAttributes(FormAuthenticationFilter.getLoginData(request, response)); // 如果是Ajax请求,返回Json字符串。 if (ServletUtils.isAjaxRequest((HttpServletRequest)request)){ @@ -83,7 +81,7 @@ public class LoginController extends BaseController{ } // 返回指定用户类型的登录页视图 - String userType = (String)data.get(FormAuthenticationFilter.DEFAULT_PARAM_PREFIX_PARAM + "userType"); + String userType = (String)model.asMap().get(ServletUtils.DEFAULT_PARAM_PREFIX_PARAM + "userType"); if (StringUtils.isBlank(userType)){ userType = User.USER_TYPE_EMPLOYEE; } @@ -111,8 +109,7 @@ public class LoginController extends BaseController{ } // 获取登录失败数据 - Map data = FormAuthenticationFilter.getLoginFailureData(request, response); - model.addAllAttributes(data); + model.addAllAttributes(FormAuthenticationFilter.getLoginFailureData(request, response)); // 如果是Ajax请求,返回Json字符串。 if (ServletUtils.isAjaxRequest(request)){ @@ -120,7 +117,7 @@ public class LoginController extends BaseController{ } // 返回指定用户类型的登录页视图 - String userType = (String)data.get(FormAuthenticationFilter.DEFAULT_PARAM_PREFIX_PARAM + "userType"); + String userType = (String)model.asMap().get(ServletUtils.DEFAULT_PARAM_PREFIX_PARAM + "userType"); if (StringUtils.isBlank(userType)){ userType = User.USER_TYPE_EMPLOYEE; }