一、该问题的重现步骤是什么?
1、 单独运行PageOffice提供的demo是可以正常保存文件,整合到biz项目中就无法保存,经过咨询PageOffice的技术客服反馈是框架做了相关拦截。想请帮忙看看,是那个拦截导致,
相关运行demo和运行步骤已上传,参见相关运行文件.zip
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
正常保存
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
blade2.8版本
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
东西较多,我还要用windows机子来测试,只能等空了帮你们排查下。
如果是我的话,会这么排查:
一、关闭Gateway的AuthFilter
二、关闭Xss配置
三、关闭Secure配置
四、去掉bladex其他的依赖,只保留blade-core-launch保证可以正常启动
bladex一共也就这三方面有拦截器,把他们全都关了不生效,再去测试这个demo,就可以排除拦截器的问题。
=================
补充,我本地已经保存成功,两步就排查结束
第一步:根据报错(java.lang.Exception: You can not directly view this page because this page only accepts the requests from PageOfficeCtrl),提示request不能转换为pageofficeRequest,第一步基本判断为request导致的问题
第二步:框架内针对request有封装的只有一处,是对request的inputStream做了缓存,也许是这一块导致的错误
具体解决以及实验方法:
1、注释掉相关方法,把针对request的封装暂时去掉
2、本地mvn clean install,然后执行工程,发现保存成功
如何解决:
可以在doFilter的方法再加一层判断,根据自己的配置,如果配置了 blade.request.enabled=false,则不对inputStream进行缓存,直接返回chain.dofilter(request, response)。
你们可以先改tool然后本地install等下次更新
具体commit参考:https://center.bladex.cn/blade/BladeX-Tool/commit/310713be08b29fc60760a23991fcb586de43aca3
=================
已关闭Gateway的AuthFilter、Xss配置、Secure配置都不行
在去掉bladex其他的依赖,只保留blade-core-launch的情况下,导致无法启动。
具体报错信息为:
pom.xml 配置为:
启动文件为:
直接使用pageoffice的demo或者是自己新建一个项目也是可以正常保存。只要在 bladex-biz下创建使用bladex框架就不行
关闭Gateway的AuthFilter、Xss配置、Secure配置,我是在nacos里修改,配置如下:
并且还修改了tool工程中的配置,也修改成 false
SecureRegistry.java、XssProperties.java、BladeSecureProperties.java都做了修改,
经过测试,项目直接依赖blade-core-launch后,正常启动,正序正常运行,也可以保存文件。相关pom依赖如下:
这样配置后可以正常保存。
一、关闭Gateway的AuthFilter
二、关闭Xss配置
三、关闭Secure配置
四、去掉bladex其他的依赖,只保留blade-core-launch保证可以正常启动
只有第四点可以,是不是因为有啥配置导致的,还请麻烦帮忙看看
扫一扫访问 Blade技术社区 移动端