关于postman与shiro权限验证问题
作为一个java的开发小白 , 写完一个web方法测试是必不可少的 , 只有测试号没问题的方法给别人时 ,别人才不知道你是小白 , 要不然很尴尬的 。新手入坑的测试工具是postman 。这个工具用起来还可以 , 这里就不做新手入坑介绍了 , 就说说常用的一个功能吧!!!就是postman关于shiro验证的问题。
shiro的权限控制很简单,是现在常用验证机制之一,但是有些一些方法常常需要登录后才能进行测试,要不然shiro不让你过去,那怎么办呢?一般开发中的方法是 , 加一个配置文件,测试的时候把方法名和类名填进去,凡是这个文件中的方法,都不需要登陆即可以访问,测试完后再在配置文件中去除 例如我们项目中的ServletInFilter.ini
配置文件就是专门负责不需要登陆权限的方法的
#ServletInFilter默认所有方法都需要登录后才能访问,以下对不需要拦截的方法进行说明
[noauthc]
#NO序号 = 类:方法
NO1=Login:checkLogin
NO2=Login:SysHomeExit
但是,除了你需要频繁修改配置文件外还有一个问题,如果你写的这个后台方法需要获取当前的登陆人信息咋办。。。。。以及其他相似问题 。
所以最好的解决办法还是让postman进行“登陆”。
- 首先在chrome上面安装
Postman Interceptor
- 然后安装chrome版 Postman(这里给出下载地址)
- 打开
Interceptor
中下面部分
- 开启
Postman
拦截
- 登陆你要测试的网站
- 在
postman
中查看发送过来的请求
- 这个时候 你chrome f12查看的 就和你 在
postman
中的 Headers就基本一致 ,
如果登陆超时重新登陆,拷贝chrome浏览器F12中的cookie到postman
中即可。
如果你是用的是exe版的postman
无法使用 Interceptor
发送到postman
的话,就自己按照F12的 Headers
在postman
中相应位置手动添加这些变量即可。如果你有更好的方法 , 也可以分享出来 . 毕竟我只是一个Java小白 ....
</div>