1. 前言
对于后端的一些接口,有时候,我们不希望没有登录的人员访问,或者说,不希望没经过授权的人员访问。因此,我们可以在zuul这里,加一个过滤器,来验证请求头里是否带有合格的token。如果带有合格的token,说明访问者是合法登录使用人员,如果没有token或者token不合格,则不让他访问接口。
2.前端编写
2.1 请求拦截器
在main.js代码中加入下面代码。拦截向后端发送的http请求,在请求头里面,加入token(Authorization)。
2.2 后端验证代码
为了验证,我们加的请求拦截器是否真的生效,真的把token值加入到请求头里。我们在后端尝试打印一下请求头。修改my-user的UserController.java文件
通过@RequestHeader Map<String,Object> header 来获取请求头,并且打印出来。
2.3 前端请求
我们在学生信息管理页面新加一个按钮,来触发这个按钮。
2.4 验证
当我们触发这个接口按钮时,打开后端my-user的日志,不出问题的话,打印出了请求头。我们往后拉,其中有我们加入的authorization字段。证明我们成功在请求头中加入了token值。当然,可以删除main.js中的请求拦截代码,试试后端打印出来的请求头里还带不带token。
3. 后端zuul修改
新建filter和util文件,TokenUtil.java直接从my-user微服务中负责过来就好。
记得在pom文件中加入JWT依赖。
ZuulTokenFilter.java
4. 验证
重启zuul,访问后端的接口,如果不出问题的话,zuul控制台中可以打印出下面的日志来。
补:
TokenUtil.java