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("用户名或密码错误");
    }
}
相关推荐
程序leo源20 分钟前
C语言:操作符详解1
android·java·c语言·c++·青少年编程·c#
轮到我狗叫了1 小时前
栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历
java·算法·leetcode
冰之杍2 小时前
Vscode进行Java开发环境搭建
java·ide·vscode
跳动的梦想家h6 小时前
黑马点评 秒杀下单出现的问题:服务器异常---java.lang.NullPointerException: null(已解决)
java·开发语言·redis
苹果醋36 小时前
前端面试之九阴真经
java·运维·spring boot·mysql·nginx
哎呦没6 小时前
Spring Boot OA:企业办公自动化的高效路径
java·spring boot·后端
真心喜欢你吖6 小时前
Spring Boot与MyBatis-Plus的高效集成
java·spring boot·后端·spring·mybatis
2401_857636396 小时前
实验室管理技术革新:Spring Boot系统
数据库·spring boot·后端
2401_857600956 小时前
实验室管理流程优化:Spring Boot技术实践
spring boot·后端·mfc
2402_857589366 小时前
企业办公自动化:Spring Boot OA管理系统开发与实践
java·spring boot·后端