Commit 1e762143623ceddd1e2be3930105db884d88efed
Committed by
Gitee
!1446 fix: 修复API响应加密时添加加密 header 标识不生效的问题
Merge pull request !1446 from sunguowei/master-jdk17
Showing
1 changed file
with
4 additions
and
2 deletions
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 | 45 | // 2. 加密 body |
| 46 | 46 | String encryptedBody = symmetricEncryptor != null ? symmetricEncryptor.encryptBase64(body) |
| 47 | 47 | : asymmetricEncryptor.encryptBase64(body, KeyType.PublicKey); |
| 48 | - response.getWriter().write(encryptedBody); | |
| 49 | 48 | |
| 50 | - // 3. 添加加密 header 标识 | |
| 49 | + // 3. 添加加密 header 标识(设置header要放在response的write之前) | |
| 51 | 50 | this.addHeader(properties.getHeader(), "true"); |
| 52 | 51 | // 特殊:特殊:https://juejin.cn/post/6867327674675625992 |
| 53 | 52 | this.addHeader("Access-Control-Expose-Headers", properties.getHeader()); |
| 53 | + | |
| 54 | + // 4. 输出加密后的 body | |
| 55 | + response.getWriter().write(encryptedBody); | |
| 54 | 56 | } |
| 55 | 57 | |
| 56 | 58 | @Override | ... | ... |