From 3f8163de146e8d2aedbaf6d301116ec92f4c8608 Mon Sep 17 00:00:00 2001 From: hupeng Date: Tue, 24 Mar 2020 13:42:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=85=AC=E4=BC=97=E5=8F=B7?= =?UTF-8?q?=E4=B8=8E=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=99=BB=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/security/rest/AuthController.java | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java index 42ea890d..fa5a767f 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java @@ -163,11 +163,8 @@ public class AuthController { } YxUser yxUser = userService.findByName(openid); - JwtUser jwtUser = null; - if (ObjectUtil.isNotNull(yxUser)) { - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid); - } else { - + String username = ""; + if(ObjectUtil.isNull(yxUser)){ //过滤掉表情 String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickname()); log.info("昵称:{}", nickname); @@ -176,8 +173,10 @@ public class AuthController { user.setAccount(nickname); //如果开启了UnionId if (StrUtil.isNotBlank(wxMpUser.getUnionId())) { + username = wxMpUser.getUnionId(); user.setUsername(wxMpUser.getUnionId()); }else{ + username = wxMpUser.getOpenId(); user.setUsername(wxMpUser.getOpenId()); } user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD)); @@ -225,14 +224,14 @@ public class AuthController { wechatUserService.save(yxWechatUser); - - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId()); + //jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId()); + }else{ + username = yxUser.getUsername(); } - UsernamePasswordAuthenticationToken authenticationToken = - new UsernamePasswordAuthenticationToken(jwtUser.getUsername(), + new UsernamePasswordAuthenticationToken(username, ShopConstants.YSHOP_DEFAULT_PWD); Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); @@ -258,7 +257,7 @@ public class AuthController { //设置推广关系 if (StrUtil.isNotEmpty(spread) && !spread.equals("NaN")) { userService.setSpread(Integer.valueOf(spread), - jwtUser.getId().intValue()); + jwtUserT.getId().intValue()); } // 返回 token @@ -304,10 +303,12 @@ public class AuthController { } YxUser yxUser = userService.findByName(openid); - JwtUser jwtUser = null; - if (ObjectUtil.isNotNull(yxUser)) { - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid); - } else { + String username = ""; + // JwtUser jwtUser = null; +// if (ObjectUtil.isNotNull(yxUser)) { +// jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid); +// } else + if(ObjectUtil.isNull(yxUser)){ WxMaUserInfo wxMpUser = wxMaService.getUserService() .getUserInfo(session.getSessionKey(), encryptedData, iv); @@ -319,8 +320,10 @@ public class AuthController { //如果开启了UnionId if (StrUtil.isNotBlank(wxMpUser.getUnionId())) { + username = wxMpUser.getUnionId(); user.setUsername(wxMpUser.getUnionId()); }else{ + username = wxMpUser.getOpenId(); user.setUsername(wxMpUser.getOpenId()); } user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD)); @@ -359,14 +362,14 @@ public class AuthController { wechatUserService.save(yxWechatUser); - - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId()); + //jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId()); + }else{ + username = yxUser.getUsername(); } - - + UsernamePasswordAuthenticationToken authenticationToken = - new UsernamePasswordAuthenticationToken(jwtUser.getUsername(), + new UsernamePasswordAuthenticationToken(username, ShopConstants.YSHOP_DEFAULT_PWD); Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); @@ -393,7 +396,7 @@ public class AuthController { //设置推广关系 if (StrUtil.isNotEmpty(spread)) { userService.setSpread(Integer.valueOf(spread), - jwtUser.getId().intValue()); + jwtUserT.getId().intValue()); } // 返回 token