springboot的JWT令牌

生成JWT令牌

依赖

<!--jwt令牌-->

<dependency>

<groupId>io.jsonwebtoken</groupId>

<artifactId>jjwt</artifactId>

<version>0.9.1</version>

</dependency>

<dependency>

<groupId>javax.xml.bind</groupId>

<artifactId>jaxb-api</artifactId>

<version>2.3.0</version>

</dependency>

解析JWT令牌

案例

java 复制代码
package com.lwy.controller;

import com.lwy.pojo.Emp;
import com.lwy.pojo.Result;
import com.lwy.service.EmpService;
import com.lwy.utils.JwtUtils;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@Slf4j
@RestController
public class LoginController {
    @Autowired
    private EmpService empService;

    /**
     * 登录
     * @param emp
     * @return
     */
    @PostMapping("/login")
    public Result login(@RequestBody Emp emp){
        log.info("员工登录,{}",emp);
        Emp result = empService.login(emp);

        //登录成功,生成令牌jwt
        if(result !=null){
            Map<String,Object> claims = new HashMap<>();
            claims.put("id", result.getId());
            claims.put("name", result.getName());
            claims.put("username",result.getUsername());
            String jwt = JwtUtils.generateJwt(claims); //jwt包含了当前登录的信息
            return Result.success(jwt);
        }
        return result !=null?Result.success("登录成功"):Result.error("用户名或密码错误");
    }
}
相关推荐
StaticKing9 分钟前
RocketMQ高级特性三-消费者分类
java·rocketmq·java-rocketmq·rocket
救救孩子把24 分钟前
工厂模式和策略模式的区别
java·开发语言·策略模式
mikey棒棒棒28 分钟前
算法练习题11:单词出现次数
java·c++·算法·单词出现频率
持续输出...30 分钟前
Java算法之LRUCache缓存实现
java·算法·缓存
MonkeyKing_sunyuhua33 分钟前
Ubuntu 24.04 中设置开机自启动软件
java·ide·intellij-idea
程序员黄同学42 分钟前
如何在 Java 中实现线程安全的单例模式?
java·安全·单例模式
Tangy范1 小时前
Java快速入门 知识精简(6)异常处理
java·开发语言
我是Superman丶1 小时前
【优化】Nginx 配置页面请求不走缓存 浏览器页面禁用缓存
java·nginx·缓存
ahauedu1 小时前
SpringBoot 依赖之 Spring for RabbitMQ
spring boot·spring·java-rabbitmq
2301_789985941 小时前
Java语言程序设计基础篇_编程练习题**17.21 (十六进制编辑器)
java·开发语言·前端·学习·编辑器