From 2734473c56e7904fdd6260209435b90953fd8914 Mon Sep 17 00:00:00 2001 From: taozi <552920369@qq.com> Date: Sun, 28 Jun 2020 10:39:53 +0800 Subject: [PATCH] =?UTF-8?q?bug--=E5=90=8C=E6=AD=A5=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9A=84=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E5=92=8C=E7=94=A8=E6=88=B7=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/service/OnlineUserService.java | 2 +- .../java/co/yixiang/utils/SecurityUtils.java | 25 +++++++++++++------ .../user/service/mapper/UserBillMapper.java | 2 +- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java b/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java index 72ad784a..99376031 100644 --- a/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java +++ b/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java @@ -150,7 +150,7 @@ public class OnlineUserService { for (OnlineUser user : all) { Map map = new LinkedHashMap<>(); map.put("用户名", user.getUserName()); - map.put("岗位", user.getJob()); + map.put("用户昵称", user.getNickName()); map.put("登录IP", user.getIp()); map.put("登录地点", user.getAddress()); map.put("浏览器", user.getBrowser()); diff --git a/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java b/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java index f04fd4f1..3abfa3ce 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java +++ b/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java @@ -8,8 +8,10 @@ package co.yixiang.utils; import cn.hutool.json.JSONObject; import co.yixiang.exception.BadRequestException; import org.springframework.http.HttpStatus; +import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; /** * 获取当前登录的用户 @@ -19,13 +21,16 @@ import org.springframework.security.core.userdetails.UserDetails; public class SecurityUtils { public static UserDetails getUserDetails() { - UserDetails userDetails; - try { - userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - } catch (Exception e) { - throw new BadRequestException(HttpStatus.UNAUTHORIZED, "登录状态过期"); + final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null) { + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "当前登录状态过期"); } - return userDetails; + if (authentication.getPrincipal() instanceof UserDetails) { + UserDetails userDetails = (UserDetails) authentication.getPrincipal(); + UserDetailsService userDetailsService = SpringContextHolder.getBean(UserDetailsService.class); + return userDetailsService.loadUserByUsername(userDetails.getUsername()); + } + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "找不到当前登录的信息"); } /** @@ -33,8 +38,12 @@ public class SecurityUtils { * @return 系统用户名称 */ public static String getUsername(){ - Object obj = getUserDetails(); - return new JSONObject(obj).get("username", String.class); + final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null) { + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "当前登录状态过期"); + } + UserDetails userDetails = (UserDetails) authentication.getPrincipal(); + return userDetails.getUsername(); } /** diff --git a/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java b/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java index d19501a3..0d53a444 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java @@ -81,7 +81,7 @@ public interface UserBillMapper extends CoreMapper { "from yx_user_bill b left join yx_user u on u.uid=b.uid where 1=1 " + "and b.category=#{category} " + "and b.type=#{type} " + - "and u.nickname= LIKE CONCAT('%',#{nickname},'%') ") + "and u.nickname LIKE CONCAT('%',#{nickname},'%') ") List findAllByQueryCriteria(@Param("category") String category, @Param("type") String type, @Param("nickname") String nickname); }