关于jwt在maven项目中的数据传递方式

在服务端中:

 

添加 JwtUtil 工具类 工具类使用需要的依赖是如下

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

 

在yml配置文件中配置jwt

jwt:
  config:
    key: donghaoxin #令牌盐
    ttl: 3600000 #过期时间

在启动类中把jwt交给Spring容器经行管理

@SpringBootApplication
@EnableEurekaClient
@MapperScan("com.jujiu.mapper")
public class ServerApp {
    public static void main(String[] args) {
        SpringApplication.run(ServerApp.class);
    }

    @Bean
    public JwtUtil jwtUtil(){
        return new JwtUtil();
    }
}

 

通过@AutoWired 注解注入jwt 经行操作

    @Autowired
    private JwtUtil jwtUtil;

 

通过登录接口登录成功后

创建一个新的token

   String token = jwtUtil.createJWT(user.getId() + "", user.getName(), "admin");

 

在需要令牌的接口中取出来实现接口的认证

 //头部获取令牌
        String token = request.getHeader("token");
        if(token!=null){
            //解析出令牌中存储的数据
            Claims claims = jwtUtil.parseJWT(token);
            //查看数据 角色名是否一致
            if(claims!=null && "admin".equals(claims.get("roles"))){
               //写接口代码
            }

 

在vue前台中

登录成功后将后台登录成功的token数据传到前台

localStorage.setItem("token",res.data.data)

 

在需要token的vue接口经行以下操作

data() {
    return {
     list:[], token:"" } }, created() { this.token = localStorage.getItem("token");
alert(this.token);//获取token的创建必须在其他元素之前 this.getlist(); }, methods: { getlist() {//员工列表 axios.get("http://localhost:9001/ddd/dddlist",{ headers:{ "token":this.token } }).then(res => { console.log(res); this.list = res.data.data }) }

 

结果数据可以成功显示

 


 

posted on 2022-02-11 16:42  菊_酒  阅读(382)  评论(0)    收藏  举报