Commit 1e762143623ceddd1e2be3930105db884d88efed

Authored by 芋道源码
Committed by Gitee
2 parents c7a7376b 6310624c

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

Merge pull request !1446 from sunguowei/master-jdk17
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