From 1fb74cc907e3a9adc55c822ecd534215d2193088 Mon Sep 17 00:00:00 2001 From: Hoshi <1196756653@qq.com> Date: Thu, 21 Nov 2024 11:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0token=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sms/booter/controller/UserController.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/bocloud.sms.booter/src/main/java/com/bocloud/sms/booter/controller/UserController.java b/bocloud.sms.booter/src/main/java/com/bocloud/sms/booter/controller/UserController.java index 57c0df1..57fd255 100644 --- a/bocloud.sms.booter/src/main/java/com/bocloud/sms/booter/controller/UserController.java +++ b/bocloud.sms.booter/src/main/java/com/bocloud/sms/booter/controller/UserController.java @@ -8,23 +8,30 @@ import com.bocloud.sms.interfaces.UserService; import com.bocloud.sms.model.*; import com.megatron.common.model.*; import com.megatron.common.utils.Common; +import io.netty.handler.codec.base64.Base64Decoder; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Base64; import java.util.List; import java.util.Map; /** * @author tyl */ +@Slf4j @RequiredArgsConstructor @RestController @RequestMapping("/v1/users") @@ -58,8 +65,22 @@ public class UserController { */ @Operation(summary = "查询用户列表") @GetMapping("/manager/external") - public GeneralResult<GridBean<User>> managerExternalList(Pager pager, @Value(Common.REQ_CONTEXT) RequestContext requestContext) { - return userService.managerExternalList(pager, requestContext); + public GeneralResult<GridBean<User>> managerExternalList(Pager pager, HttpServletRequest request) { + String token = request.getHeader("Token"); + String oriString = new String(Base64.getDecoder().decode(token)); + String[] split = oriString.split(":"); + Assert.isTrue(split.length == 2, "token验证失败"); + Assert.isTrue("cmp@v587".equals(split[0]), "token验证失败"); + long timestamp = Long.parseLong(split[1]); + LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault()); + log.info("token解析时间:{}", dateTime); + return userService.managerExternalList(pager, new RequestContext(RequestContext.Catalog.Manager, 1L, 1L, 1L, null)); + } + + public static void main(String[] args) { + String password = "cmp@v587"; + String token = Base64.getEncoder().encodeToString(String.format("%s:%d",password, System.currentTimeMillis()).getBytes()); + System.out.println(token); }