手把手教你:在Spring Boot + Vue项目中实现JWT登录验证,打造高效安全的前后端分离系统

前言:

   在现代的Web应用开发中,前后端分离架构逐渐成为主流。而在这样架构下,安全性就显得尤为重要,尤其是用户登录验证的实现。JWT(JSON Web Token)凭借其无状态、跨语言支持等特性,成为了非常流行的登录验证方案。今天,我们将详细介绍如何在Spring Boot和Vue组合的项目中,通过JWT和拦截器来实现登录验证功能,确保只有登录成功的用户才能访问相应的后台资源。

具体操作:

一、后端:SpringBoot配置jjwt依赖

1.1、添加依赖

首先,需要在pom.xml文件中添加 jjwt 和一些其他的依赖

<!--        jwt令牌-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>

<!--        json快速转换-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.49</version>
        </dependency>

1.2、JWT工具类

创建一个JwtUtils工具类,用来生成和解析token

ps:其中这里面保存的密钥和有效时间可以在application.properties中保存,并创建一个类获得这些数据便于调用

public class JwtUtils {

    private static String signKey = "xctest";
    private static Long expire = 43200000L;

    /**
     * 生成JWT令牌
     * @param claims JWT第二部分负载 payload 中存储的内容
     * @return
     */
    public static String generateJwt(Map<String, Object> claims){
        String jwt = Jwts.builder()
                .addClaims(claims)
                .signWith(SignatureAlgorithm.HS256, signKey)
                .setExpiration(new Date(System.currentTimeMillis() + expire))
                .compact();
        return jwt;
    }

    /**
     * 解析JWT令牌
     * @param jwt JWT令牌
     * @return JWT第二部分负载 payload 中存储的内容
     */
    public static Claims parseJWT(String jwt){
        Claims claims = Jwts.parser()
                .setSigningKey(signKey)
                .parseClaimsJws(jwt)
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值