在spring mvc应用程序中加密json有效负载的最早点

Posted

技术标签:

【中文标题】在spring mvc应用程序中加密json有效负载的最早点【英文标题】:Earliest point to encrypt json payload in spring mvc application 【发布时间】:2020-01-05 00:48:58 【问题描述】:

我有一个 Spring Boot 应用程序服务于 restful api。

我想确保尽早屏蔽/加密某些字段,以便它们不会在应用程序日志中以明文形式显示...通过 logback。

是否有我可以实现的入口点/过滤器/冲刺方面来实现这一点?

【问题讨论】:

【参考方案1】:

正如Ali Dehghani 在这个post 的答案中所清楚解释的那样,做你想做的事情的最佳位置是在响应过滤器中。因此,您必须编写一个实现 Filter 接口的类,并在 doFilter 方法中过滤您的响应。

@Component
public class YourResponseFilter implements Filter 
 
  @Override
  public void doFilter(
    ServletRequest request, 
    ServletResponse response, 
    FilterChain chain) throws IOException, ServletException 
    ...
    // do your work there
  

您可能会或可能不会使用 @Component 对过滤器进行注释,具体取决于您是否要过滤所有响应。 如果您需要更多帮助,请告诉我。

【讨论】:

以上是关于在spring mvc应用程序中加密json有效负载的最早点的主要内容,如果未能解决你的问题,请参考以下文章

在 POST Spring 4.x MVC 上未解析 JSON 有效负载

使用 JSON Sanitizer 清理来自 Spring MVC 控制器的响应 JSON?

在 Spring MVC 中使用 Jackson JSON 解析 JSON

如何使用 RestTemplate 在 Spring MVC 应用程序中访问来自(来自 Spring RESTful 服务)的巨大 JSON

Spring MVC 接收的 JSON 嵌套对象的 Spring Boot JACKSON 配置

Spring Boot - 加密 JSON 数据