使用拦截器对接口通信进行解密问题

2021-05-22 15:37:02 +08:00
 zhongpingjing
想用 spring 提供的 HandlerInterceptor 拦截请求来做接口数据的解密,通过 HttpServletRequest 获取到请求参数
解密后如何再把参数设置到 HttpServletRequest 中去?
HttpServletRequest 只有 getParameterMap()和 getQueryString()方法,没有对应的 set 方法。

如果通过拦截器的思路行不通,那应该通过什么方式来进行解密??
1664 次点击
所在节点    Java
3 条回复
zhongpingjing
2021-05-22 15:40:41 +08:00
spring 也也提供一个 RequestBodyAdvice 接口可以对请求进行拦截解密,不过这个只能拦截被 @RequestBody 修饰的方法。
但通过 url 参数或者表单提交的请求无法拦截
securityCoding
2021-05-22 16:47:02 +08:00
很常见的需求,关键字自己搜索一下吧

1. 继承 HttpServletRequestWrapper,重写父类方法
2. 继继承 OncePerRequestFilter ,实现抽象方法
zhongpingjing
2021-05-22 20:11:48 +08:00
@securityCoding 感谢,按照你的提示,解决了问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/778535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX