postman绕过登陆验证直接测试后端接口

2019-12-10  本文已影响0人  bin_lifecycle

使用postman测试后端接口,一般会遇到需要进行登陆校验的情况,
登陆校验一般是校验session或者是校验token,所以我们想绕过登陆验证直接测试后端的接口时需要在header中附带cookie信息或者是token信息

今天我在公司的前后端分离的项目中测试后台接口遇到了不少的问题,这里记录一下:

前后端分离的项目,前端会有一个启动端口,并且会在配置文件中指定转发请求到后端的地址和端口:

vue的配置文件中指定了请求转发到后端的地址和端口:

vue代理配置了转发请求到后端的地址和端口

从图中也知道vue项目启动时的端口是8080

由于自己使用postman测试时使用的是8082端口,既不是前端项目端口,也不是后端项目端口,所以访问不成功

此时,header中没有放cookie信息 把cookie拷贝出来 @RequestBody注解接收的数据是json格式

使用的form-data模式,访问不成功:

使用的form-data模式,访问不成功

现在针对上面3个问题,写出正确的测试url:

使用正确的访问地址和端口,并在header中加入Cookie信息:

01-使用后端的端口,header中加入Cookie

在body中使用raw,json模式传递参数:

02-body中使用raw,json格式传递参数

成功返回数据:

成功返回数据

使用前端的端口也能访问成功:

使用前端的端口也是可以的,前端会自动转发请求到后端端口

小结:想要使用postman绕过登陆直接访问后台接口,需要填写正确的前端或后端的访问地址和端口号(前后端分离的项目中,访问前端或后端的端口均可,前端会将请求转发到后端的端口上的),然后需要在登陆成功的URL中将Cookie信息拷贝出来粘贴到请求的header中(如果是token校验的就把token粘贴出来放到header里),最后就要考虑后端接收参数时的格式如果使用了@RequestBody注解就需要将传递参数模式改为raw,json模式来传递参数才行

token校验时,把前端的token拷贝出来:

image.png

将token放到header里:

image.png

具体token校验登陆看这里:
https://www.jianshu.com/p/69d5a78616f4

上一篇 下一篇

猜你喜欢

热点阅读