关于postman与shiro权限验证问题

时间:2021-07-25 08:19:38

作为一个java的开发小白 , 写完一个web方法测试是必不可少的 , 只有测试号没问题的方法给别人时 ,别人才不知道你是小白 , 要不然很尴尬的 。新手入坑的测试工具是postman 。这个工具用起来还可以 , 这里就不做新手入坑介绍了 , 就说说常用的一个功能吧!!!就是postman关于shiro验证的问题。

    shiro的权限控制很简单,是现在常用验证机制之一,但是有些一些方法常常需要登录后才能进行测试,要不然shiro不让你过去,那怎么办呢?一般开发中的方法是 , 加一个配置文件,测试的时候把方法名和类名填进去,凡是这个文件中的方法,都不需要登陆即可以访问,测试完后再在配置文件中去除 例如我们项目中的ServletInFilter.ini配置文件就是专门负责不需要登陆权限的方法的

#ServletInFilter默认所有方法都需要登录后才能访问,以下对不需要拦截的方法进行说明
[noauthc]
#NO序号 = 类:方法
NO1=Login:checkLogin
NO2=Login:SysHomeExit

但是,除了你需要频繁修改配置文件外还有一个问题,如果你写的这个后台方法需要获取当前的登陆人信息咋办。。。。。以及其他相似问题 。
所以最好的解决办法还是让postman进行“登陆”。

首先在chrome上面安装 Postman Interceptor

关于postman与shiro权限验证问题

然后安装chrome版 Postman(这里给出下载地址)

关于postman与shiro权限验证问题

打开Interceptor中下面部分

关于postman与shiro权限验证问题

开启Postman拦截

关于postman与shiro权限验证问题

登陆你要测试的网站

postman中查看发送过来的请求

关于postman与shiro权限验证问题

这个时候 你chrome f12查看的 就和你 在postman中的 Headers就基本一致 ,
如果登陆超时重新登陆,拷贝chrome浏览器F12中的cookie到postman中即可。

关于postman与shiro权限验证问题

关于postman与shiro权限验证问题

如果你是用的是exe版的postman无法使用 Interceptor发送到postman的话,就自己按照F12的 Headerspostman中相应位置手动添加这些变量即可。如果你有更好的方法 , 也可以分享出来 . 毕竟我只是一个Java小白 ....