JWT的简单使用

简介:全称:JSON  Web  Token (https://jwt.io/) 定义了一种简洁的、自包含的格式。

           用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是             可靠的。

 

 导入依赖

        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>

写JWT工具类

public class JwtUtils {
    public static String generateJwt(Map<String,Object> claims){
        return Jwts.builder()
                .setClaims(claims) //自定义内容
                .signWith(SignatureAlgorithm.HS256, "laohuang")//签名算法
                .setExpiration(new Date(System.currentTimeMillis() + 12 * 3600)) //有效期
                .compact();
    }
}

调用JWT工具类的使用

 @PostMapping("/login")
    public Result login(@RequestBody Emp emp){
        Emp e = empService.login(emp);
        if (e!=null){
            Map<String,Object> claims = new HashMap<>();
            claims.put("id",emp.getId());
            claims.put("username",emp.getUsername());
            claims.put("password",emp.getPassword());
            //生成JWT令牌
            String jwt = JwtUtils.generateJwt(claims);
            return Result.success(jwt);
        }
        return Result.error("用户名或密码错误");
    }

Service层和Mapper层

@Override
    public Emp login(Emp emp) {
        return empMapper.login(emp);
    }

@Select("select * from emp where username = #{username} and password = #{password}")
    Emp login(Emp emp);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值