Commit 6310624c428850640454d5422315b5b20174a2cb

Authored by sungw
1 parent 2c41d562

fix: 修复API响应加密时添加加密 header 标识不生效的问题

yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptResponseWrapper.java
@@ -45,12 +45,14 @@ public class ApiEncryptResponseWrapper extends HttpServletResponseWrapper { @@ -45,12 +45,14 @@ public class ApiEncryptResponseWrapper extends HttpServletResponseWrapper {
45 // 2. 加密 body 45 // 2. 加密 body
46 String encryptedBody = symmetricEncryptor != null ? symmetricEncryptor.encryptBase64(body) 46 String encryptedBody = symmetricEncryptor != null ? symmetricEncryptor.encryptBase64(body)
47 : asymmetricEncryptor.encryptBase64(body, KeyType.PublicKey); 47 : asymmetricEncryptor.encryptBase64(body, KeyType.PublicKey);
48 - response.getWriter().write(encryptedBody);  
49 48
50 - // 3. 添加加密 header 标识 49 + // 3. 添加加密 header 标识(设置header要放在response的write之前)
51 this.addHeader(properties.getHeader(), "true"); 50 this.addHeader(properties.getHeader(), "true");
52 // 特殊:特殊:https://juejin.cn/post/6867327674675625992 51 // 特殊:特殊:https://juejin.cn/post/6867327674675625992
53 this.addHeader("Access-Control-Expose-Headers", properties.getHeader()); 52 this.addHeader("Access-Control-Expose-Headers", properties.getHeader());
  53 +
  54 + // 4. 输出加密后的 body
  55 + response.getWriter().write(encryptedBody);
54 } 56 }
55 57
56 @Override 58 @Override