From a671d605563334082c68ccdcac0999fa21b99e01 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 16 Jun 2021 13:21:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=BB=98=E8=AE=A4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E5=BD=95admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/login/rest/LoginRestController.java | 14 ++++++++++++-- .../java/com/adc/da/login/util/UserUtils.java | 16 +++++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java index 4472fcfe..48890445 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java @@ -9,8 +9,10 @@ import com.adc.da.login.vo.LoginVO; import com.adc.da.sys.entity.MenuEO; import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.IUserEOService; +import com.adc.da.sys.vo.UserVO; import com.adc.da.util.Encodes; import com.adc.da.util.PasswordUtils; +import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -20,10 +22,13 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import sun.misc.BASE64Encoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; @@ -124,7 +129,7 @@ public class LoginRestController { public ResponseMessage loginRest(HttpServletRequest request, HttpServletResponse response, @RequestParam @NotNull(message = "请输入用户名") String username, @RequestParam @NotNull(message = "请输入密码") String password, - @RequestParam(value = "isRememberMe", defaultValue = "false") Boolean isRememberMe, String verifyCode) { + @RequestParam(value = "isRememberMe", defaultValue = "false") Boolean isRememberMe, String verifyCode) throws UnsupportedEncodingException { UserEO userEO = userService.getUserByLoginNameNotDeleted(username); if (null == userEO) { log.info("用户[{}]身份验证失败", username); @@ -138,7 +143,12 @@ public class LoginRestController { String token = JWTUtil.sign(username, userEO.getUsid(),userEO.getPassword()); response.setHeader("Authorization", token); response.addHeader("Access-Control-Allow-Headers", "Authorization"); - return Result.success(token); + // 加密重要信息 + BASE64Encoder encoder = new BASE64Encoder(); + String userStr = JSON.toJSONString(userEO); + String userStr2 = URLEncoder.encode(userStr,"UTF-8"); + userStr = encoder.encode(userStr2.getBytes()); + return Result.success(userStr); } else { log.info("用户[{}]密码验证失败", username); return Result.error("r0011", "您输入的帐号或密码有误"); diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/util/UserUtils.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/util/UserUtils.java index 0c3197ba..cc409e88 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/util/UserUtils.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/util/UserUtils.java @@ -1,5 +1,6 @@ package com.adc.da.login.util; +import cn.hutool.core.util.ObjectUtil; import com.adc.da.login.security.JWTRealm; import com.adc.da.login.security.JWTRealm.Principal; import com.adc.da.sys.entity.MenuEO; @@ -81,11 +82,11 @@ public class UserUtils { * 获取当前登录用户名 */ public static String getUserName() { - JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal(); - if (principal != null) { - return principal.getLoginName(); - } - return null; +// JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal(); +// if (principal != null) { +// return principal.getLoginName(); +// } + return "admin"; } /** @@ -106,12 +107,13 @@ public class UserUtils { public static UserEO getUser() { UserEO user = (UserEO) CacheUtils.getCache(CURRENT_USER); if (user == null) { + user = new UserEO(); String userName = getUserName(); if (StringUtils.isNotEmpty(userName)) { UserEO userInDb = userService.getUserByLoginNameNotDeleted(userName); - user = ObjectUtils.clone(userInDb); - user.setPassword(null); + user = ObjectUtil.clone(userInDb); + user.setPassword(""); CacheUtils.putCache(CURRENT_USER, user); } }