V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zhongpingjing
0D
V2EX  ›  Java

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

  •  
  •   zhongpingjing · May 22, 2021 · 2157 views
    This topic created in 1813 days ago, the information mentioned may be changed or developed.
    想用 spring 提供的 HandlerInterceptor 拦截请求来做接口数据的解密,通过 HttpServletRequest 获取到请求参数
    解密后如何再把参数设置到 HttpServletRequest 中去?
    HttpServletRequest 只有 getParameterMap()和 getQueryString()方法,没有对应的 set 方法。

    如果通过拦截器的思路行不通,那应该通过什么方式来进行解密??
    3 replies    2021-05-22 20:11:48 +08:00
    zhongpingjing
        1
    zhongpingjing  
    OP
       May 22, 2021
    spring 也也提供一个 RequestBodyAdvice 接口可以对请求进行拦截解密,不过这个只能拦截被 @RequestBody 修饰的方法。
    但通过 url 参数或者表单提交的请求无法拦截
    securityCoding
        2
    securityCoding  
       May 22, 2021
    很常见的需求,关键字自己搜索一下吧

    1. 继承 HttpServletRequestWrapper,重写父类方法
    2. 继继承 OncePerRequestFilter ,实现抽象方法
    zhongpingjing
        3
    zhongpingjing  
    OP
       May 22, 2021
    @securityCoding 感谢,按照你的提示,解决了问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:39 · PVG 20:39 · LAX 05:39 · JFK 08:39
    ♥ Do have faith in what you're doing.