由于经常配置fineReport,做一些记录留作自用。
1、获取加密的用户密码,用于模拟login接口登录获取token
1.1 登录接口信息
登录接口地址为 :
http://IP:PORT/webroot/decision/login
登录方法为 POST
登录body传参为
{
"username": "用户名名为",
"password": "加密后的密码",
"validity": -1,
"sliderToken": "",
"origin": "",
"encrypted": true
}
1.2 拿到密码加密的密钥
如下图,在浏览器中访问http://IP:PORT/webroot/decision/login
在接口 /webroot/decision/system/info?_=xxx 接口中
获取 frontSM4Key、frontSeed 两个字段对应的值 作为加密密钥
1.3 用密钥生成密文
接上一步操作,在浏览器控制台中使用 BI.aesEncrypt(‘明文’, ‘密钥’) 获取密文
其中密钥用 frontSM4Key、frontSeed 字段的数据都试一下,两个有一个是正确的
1.4 接口获取Token
调用接口后,获取到的token存到cookie中,浏览器即完成了用户模拟登录。
此接口常用在将fineReport页面嵌到iframe的场景中
cookie中 key为fine_auth_token,value为接口获取到的token
2、用nginx解除2个IP请求的限制
# nginx起一个server,设置一个端口,配置根目录如下
# 8080为fineReport的端口
# 配置好后,访问nginx的端口即可,fineReport会将所有的请求识别为本机请求
location / {
proxy_set_header Host cas.demo.com; #如果有对接cas的需求可以在这里固定好域名
proxy_set_header X-Real-IP 127.0.0.1;
proxy_set_header Proxy-Client-IP 127.0.0.1;
proxy_set_header X-Forwarded-For 127.0.0.1;
proxy_pass http://127.0.0.1:8080;
}
评论区