一、JwtUtil 工具类

package com.changgou.system.utils;/*** @author :lijunxuan* @date :Created in 2019/7/11  17:14* @description :* @version: 1.0*/import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
import java.util.Date;/*** JWT工具类*/
public class JwtUtil {//有效期为public static final Long JWT_TTL = 3600000L;// 60 * 60 *1000  一个小时//设置秘钥明文public static final String JWT_KEY = "william";/*** 创建token* @param id* @param subject* @param ttlMillis* @return*/public static String createJWT(String id, String subject, Long ttlMillis) {//定义jwt签名的算法SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;//当前时间long nowMillis = System.currentTimeMillis();//将当前时间转换日期类型Date now = new Date(nowMillis);//将当前时间+超时时间if(ttlMillis==null){ttlMillis=JwtUtil.JWT_TTL;}long expMillis = nowMillis + ttlMillis;//将时间定义为date类型Date expDate = new Date(expMillis);//获取签名时候使用的密钥SecretKey secretKey = generalKey();JwtBuilder builder = Jwts.builder().setId(id)              //唯一的ID.setSubject(subject)   // 主题  可以是JSON数据.setIssuer("admin")     // 签发者.setIssuedAt(now)      // 签发时间.signWith(signatureAlgorithm, secretKey) //使用HS256对称加密算法签名, 第二个参数为秘钥.setExpiration(expDate);// 设置过期时间return builder.compact();}/*** 生成加密后的秘钥 secretKey* @return*/public static SecretKey generalKey() {byte[] encodedKey = Base64.getDecoder().decode(JwtUtil.JWT_KEY);SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");return key;}
}

二、修改AdminController的login方法, 用户登录成功 则 签发TOKEN

 /*** 管理员登录* @param admin* @return*/@PostMapping(value = "/login")public Result login(@RequestBody Admin admin){boolean isLogin =adminService.isLogin(admin);HashMap<String, String> ResultMap = new HashMap<>();if (isLogin){//生成JWt令牌String token = JwtUtil.createJWT(UUID.randomUUID().toString(), admin.getLoginName(), null);ResultMap.put("loginName",admin.getLoginName());ResultMap.put("token",token);return new Result(true,StatusCode.OK,"登录成功",ResultMap);}else {return  new Result(false,StatusCode.ERROR,"登录失败");}}

三、测试结果

系统微服务签发token相关推荐

  1. 自动匹配未认领订单编号_海量订单系统微服务开发:使用MongoDB支持海量数据...

    海量订单系统微服务开发 订单系统是电商平台中一个非常重要的组成部分,而且它还是一个具有巨大流量和高并发访问的系统,与订单相关的服务涉及库存.支付.物流等.在设计订单系统时,我们选择使用支持海量数据的N ...

  2. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  3. 客服系统微服务架构的演化

    客服系统微服务架构的演化 微服务要求 服务协作 服务治理 服务治理 1 怀疑第三方 坚持一条信念:"所有第三方服务都不可靠",不管第三方什么天花乱坠的承诺.基于这样的信念,我们需要 ...

  4. 【仅售9.9元】石杉老师最新出品:C2C电商系统微服务架构120天实战训练营

    石杉老师最新出品:<C2C 电商系统微服务架构 120 天实战训练营>,长按扫描下方二维码了解: 微服务架构是当今架构领域最热的话题之一,也是互联网大厂必问的技术.掌握微服务架构技术栈相关 ...

  5. 电商平台 高并发 微服务 方案_Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战...

    Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束.这种 ...

  6. 微信10亿日活场景下,后台系统微服务架构实践

    01 微信发展主要的技术里程碑 微信在2011年1月21日发布了1.0版本,以即时消息为主:2011年5月上线了语音对讲.查看附近的人:2012年4年发布了里程碑式的朋友圈功能:2013年游戏中心.表 ...

  7. java微服务电商系统,JavaEE 电商系统微服务开发骨架(Spring Cloud版)

    Spring Boot - Spring Cloud 一个基于Spring Boot.Spring Cloud的项目,用来快速搭建电商项目微服务骨架. 说明:所有的功能都没有做参数强校验,也不考虑各种 ...

  8. 微信架构总监:微信10亿日活场景下,后台系统微服务架构实践 15页ppt全解

    01 微信发展主要的技术里程碑 微信在2011年1月21日发布了1.0版本,以即时消息为主:2011年5月上线了语音对讲.查看附近的人:2012年4年发布了里程碑式的朋友圈功能:2013年游戏中心.表 ...

  9. 老系统微服务改造经验谈

    微服务是当下最流行的应用架构了,它跟容器云.DevOps 合称新时代三剑客,帮我们化解业务发展过快导致的产品迭代压力,让我们有自由选择最适合自己团队的技术栈,让系统能够承载互联网海量用户的访问.近些年 ...

最新文章

  1. 转:动态链接库的全局变量问题
  2. matlab在图像调用Gabor滤波
  3. C# 对Outlook联系人的增、删、查
  4. Win8 Metro(C#)数字图像处理--2.35图像肤色检测算法
  5. python 示例_Python日历类| yeardayscalendar()方法与示例
  6. Objective-C学习笔记(一)–类
  7. 动态规划——矩阵连乘(算法设计课题)
  8. 深入理解SpringBoot(2)
  9. 微课|中学生可以这样学Python(1.2节):IDLE环境使用简介
  10. 动态ip、静态ip、pppoe拨号的区别
  11. 不干胶设计用什么软件制作_用什么软件制作抖音短视频会比较好?
  12. mysql 中like怎么用_mysql中like怎么用?
  13. 计算机操作系统答案(完整版)
  14. Java2022面试题集锦
  15. AppScan-Authentication Bypass Using HTTP Verb Tampering
  16. linux系统的python版本_Linux系统下多版本Python管理
  17. 依行科技日常实习面经
  18. mac下配置subl启动sublime text 编辑器
  19. 电脑鼠标箭头一直转圈的解决办法
  20. c语言中的各种变量是如何存储的(-)

热门文章

  1. 安装openstack_午餐前如何安装OpenStack Cloud
  2. sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中
  3. aws sqs_JMS和AWS SQS的更多高级内容
  4. Apache Camel 3.2 – Camel的无反射配置
  5. J2Pay –完整示例
  6. 初学者指南:如何为Red Hat Process Automation Manager配置电子邮件服务任务
  7. mockito 静态方法_Mockito –带有注释和静态方法的额外接口
  8. 使用Logstash,JDBC将数据聚合并索引到Elasticsearch中
  9. gwt格式_GWT –利弊
  10. 在NetBeans,Eclipse,IntelliJ,OpenShift和Maven上使用WildFly 9