From a95be9d41827d970a26d0c89b92780fab1f52e62 Mon Sep 17 00:00:00 2001 From: DokiYolo <857815116@qq.com> Date: Wed, 6 Jan 2021 10:06:57 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3header=E8=8E=B7=E5=8F=96u?= =?UTF-8?q?sername=E4=B8=AD=E6=96=87=E6=83=85=E5=86=B5=E4=B8=8B=E4=B9=B1?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/utils/SecurityUtils.java | 13 ++++++++++++- .../com/ruoyi/gateway/filter/AuthFilter.java | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java index 3c5bf20b..36eb90c6 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java @@ -1,10 +1,15 @@ package com.ruoyi.common.core.utils; import javax.servlet.http.HttpServletRequest; + +import com.ruoyi.common.core.exception.BaseException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.text.Convert; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; + /** * 权限获取工具类 * @@ -17,7 +22,13 @@ public class SecurityUtils */ public static String getUsername() { - return ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USERNAME); + String username = ""; + try { + username = URLDecoder.decode(ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USERNAME), "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new BaseException("获取username失败"); + } + return username; } /** diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java index 36c72d6b..fa5519a7 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java @@ -24,6 +24,8 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties; import reactor.core.publisher.Mono; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; /** * 网关鉴权 @@ -68,7 +70,7 @@ public class AuthFilter implements GlobalFilter, Ordered } JSONObject obj = JSONObject.parseObject(userStr); String userid = obj.getString("userid"); - String username = obj.getString("username"); + String username = urlEncode(obj.getString("username")); if (StringUtils.isBlank(userid) || StringUtils.isBlank(username)) { return setUnauthorizedResponse(exchange, "令牌验证失败"); @@ -103,6 +105,18 @@ public class AuthFilter implements GlobalFilter, Ordered return CacheConstants.LOGIN_TOKEN_KEY + token; } + /** + * 编码 + */ + private String urlEncode(String value) { + try { + value = URLEncoder.encode(value, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return value; + } + /** * 获取请求token */ From 2c323ca3fff788329d92efe760b542e965eecfdb Mon Sep 17 00:00:00 2001 From: ouwei2020 <8461269+ouwei2020@user.noreply.gitee.com> Date: Wed, 6 Jan 2021 11:09:23 +0800 Subject: [PATCH 2/7] update ruoyi-ui/src/components/FileUpload/index.vue. --- ruoyi-ui/src/components/FileUpload/index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue index bcc95150..a4e681dd 100644 --- a/ruoyi-ui/src/components/FileUpload/index.vue +++ b/ruoyi-ui/src/components/FileUpload/index.vue @@ -90,6 +90,8 @@ export default { return item; }); } else { + //上传后关闭弹出框再打开出现`只允许上传单个文件`提示,增加fileList清空可解决 + this.fileList = []; return []; } }, From dee4653b9b4e946926c725dfc95daebe792d76a7 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Wed, 6 Jan 2021 11:59:13 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm | 2 +- ruoyi-ui/src/components/FileUpload/index.vue | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm index 2f954f87..501de87b 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm @@ -159,7 +159,7 @@ #elseif($column.htmlType == "fileUpload") - + #elseif($column.htmlType == "editor") diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue index a4e681dd..af22f19a 100644 --- a/ruoyi-ui/src/components/FileUpload/index.vue +++ b/ruoyi-ui/src/components/FileUpload/index.vue @@ -90,7 +90,6 @@ export default { return item; }); } else { - //上传后关闭弹出框再打开出现`只允许上传单个文件`提示,增加fileList清空可解决 this.fileList = []; return []; } From 4cc4e8a8fa341fd2e375566eb2aefddc03aa97f4 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Wed, 6 Jan 2021 12:00:41 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=A3=E7=A0=81?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=EF=BC=8C=E9=98=B2=E6=AD=A2=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E5=87=BA=E7=8E=B0=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/utils/SecurityUtils.java | 14 +------ .../ruoyi/common/core/utils/ServletUtils.java | 40 +++++++++++++++++++ .../ruoyi/common/log/aspect/LogAspect.java | 5 +-- .../com/ruoyi/gateway/filter/AuthFilter.java | 19 ++------- 4 files changed, 47 insertions(+), 31 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java index 36eb90c6..f2225bea 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java @@ -1,15 +1,10 @@ package com.ruoyi.common.core.utils; import javax.servlet.http.HttpServletRequest; - -import com.ruoyi.common.core.exception.BaseException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.text.Convert; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; - /** * 权限获取工具类 * @@ -22,13 +17,8 @@ public class SecurityUtils */ public static String getUsername() { - String username = ""; - try { - username = URLDecoder.decode(ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USERNAME), "UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new BaseException("获取username失败"); - } - return username; + String username = ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USERNAME); + return ServletUtils.urlDecode(username); } /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java index 5346483d..6809f29f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java @@ -1,6 +1,9 @@ package com.ruoyi.common.core.utils; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; import java.util.Enumeration; import java.util.LinkedHashMap; import java.util.Map; @@ -10,6 +13,7 @@ import javax.servlet.http.HttpSession; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.text.Convert; /** @@ -173,4 +177,40 @@ public class ServletUtils } return false; } + + /** + * 内容编码 + * + * @param str 内容 + * @return 编码后的内容 + */ + public static String urlEncode(String str) + { + try + { + return URLEncoder.encode(str, Constants.UTF8); + } + catch (UnsupportedEncodingException e) + { + return ""; + } + } + + /** + * 内容解码 + * + * @param str 内容 + * @return 解码后的内容 + */ + public static String urlDecode(String str) + { + try + { + return URLDecoder.decode(str, Constants.UTF8); + } + catch (UnsupportedEncodingException e) + { + return ""; + } + } } diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java index d0a557e8..e76018e7 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java @@ -20,7 +20,7 @@ import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import com.alibaba.fastjson.JSON; -import com.ruoyi.common.core.constant.CacheConstants; +import com.ruoyi.common.core.utils.SecurityUtils; import com.ruoyi.common.core.utils.ServletUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.ip.IpUtils; @@ -93,8 +93,7 @@ public class LogAspect operLog.setJsonResult(JSON.toJSONString(jsonResult)); operLog.setOperUrl(ServletUtils.getRequest().getRequestURI()); - HttpServletRequest request = ServletUtils.getRequest(); - String username = request.getHeader(CacheConstants.DETAILS_USERNAME); + String username = SecurityUtils.getUsername(); if (StringUtils.isNotBlank(username)) { operLog.setOperName(username); diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java index fa5519a7..1bd39940 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java @@ -20,12 +20,11 @@ import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.ServletUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties; import reactor.core.publisher.Mono; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; /** * 网关鉴权 @@ -70,7 +69,7 @@ public class AuthFilter implements GlobalFilter, Ordered } JSONObject obj = JSONObject.parseObject(userStr); String userid = obj.getString("userid"); - String username = urlEncode(obj.getString("username")); + String username = obj.getString("username"); if (StringUtils.isBlank(userid) || StringUtils.isBlank(username)) { return setUnauthorizedResponse(exchange, "令牌验证失败"); @@ -80,7 +79,7 @@ public class AuthFilter implements GlobalFilter, Ordered redisService.expire(getTokenKey(token), EXPIRE_TIME); // 设置用户信息到请求 ServerHttpRequest mutableReq = exchange.getRequest().mutate().header(CacheConstants.DETAILS_USER_ID, userid) - .header(CacheConstants.DETAILS_USERNAME, username).build(); + .header(CacheConstants.DETAILS_USERNAME, ServletUtils.urlEncode(username)).build(); ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); return chain.filter(mutableExchange); @@ -105,18 +104,6 @@ public class AuthFilter implements GlobalFilter, Ordered return CacheConstants.LOGIN_TOKEN_KEY + token; } - /** - * 编码 - */ - private String urlEncode(String value) { - try { - value = URLEncoder.encode(value, "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - return value; - } - /** * 获取请求token */ From 3fdcac939a101b24b5925c051302b7fbae0ec3d7 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Wed, 6 Jan 2021 12:01:05 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=8D=87=E7=BA=A7druid=E5=88=B0=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=ACv1.2.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5dcf2a0b..fbd616e1 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 1.26.5 2.3.2 1.3.0 - 1.2.2 + 1.2.4 3.2.1 2.5 1.3.3 From 09a0058379a4d50d20e19860dc80f3da383566e1 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Wed, 6 Jan 2021 17:50:01 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=8F=B3=E4=BE=A7?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=A0=8F=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=98=BE=E9=9A=90=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/RightToolbar/index.vue | 49 +++++++++++++++++-- ruoyi-ui/src/layout/components/global.js | 3 -- ruoyi-ui/src/views/system/user/index.vue | 26 +++++++--- 3 files changed, 64 insertions(+), 14 deletions(-) delete mode 100644 ruoyi-ui/src/layout/components/global.js diff --git a/ruoyi-ui/src/components/RightToolbar/index.vue b/ruoyi-ui/src/components/RightToolbar/index.vue index 6186638e..92c65a53 100644 --- a/ruoyi-ui/src/components/RightToolbar/index.vue +++ b/ruoyi-ui/src/components/RightToolbar/index.vue @@ -7,31 +7,74 @@ + + + + + + + diff --git a/ruoyi-ui/src/layout/components/global.js b/ruoyi-ui/src/layout/components/global.js deleted file mode 100644 index 5d2b5b3e..00000000 --- a/ruoyi-ui/src/layout/components/global.js +++ /dev/null @@ -1,3 +0,0 @@ -import Vue from 'vue' -const global = new Vue() -export default global diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 18cabfe4..5f3eaa08 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -135,17 +135,17 @@ v-hasPermi="['system:user:export']" >导出 - + - - - - - - + + + + + + - + @@ -418,6 +418,16 @@ export default { status: undefined, deptId: undefined }, + // 列信息 + columns: [ + { key: 0, label: `用户编号`, visible: true }, + { key: 1, label: `用户名称`, visible: true }, + { key: 2, label: `用户昵称`, visible: true }, + { key: 3, label: `部门`, visible: true }, + { key: 4, label: `手机号码`, visible: true }, + { key: 5, label: `状态`, visible: true }, + { key: 6, label: `创建时间`, visible: true } + ], // 表单校验 rules: { userName: [ From 4125f44179e57de01356c04ad15168f7a15f042e Mon Sep 17 00:00:00 2001 From: RuoYi Date: Thu, 7 Jan 2021 13:37:33 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=98=BE=E9=9A=90?= =?UTF-8?q?=E5=88=97=E6=B7=BB=E5=8A=A0=E4=B8=8D=E5=90=8Ckey=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E8=A2=AB=E5=A4=8D=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/views/system/user/index.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 5f3eaa08..4202d94e 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -140,12 +140,12 @@ - - - - - - + + + + + +