如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回
項(xiàng)目安全要求把所有返回值做加密處理,利用SpringAOP的返回切面可以簡(jiǎn)單方便的做到該需求。
@Aspect public class ResponseDataEncryptAspect { private ObjectMapper objectMapper; public ResponseDataEncryptAspect () { this.objectMapper = new ObjectMapper(); // 保持空值也被序列化 objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); } // 攔截Controller內(nèi)帶@RequestMapper的方法及衍生注解即可 @AfterReturning(value = PointCut.CONTROLLER_POINT_CUT, returning = "res") public void jsonDateEncrypt(JoinPoint joinPoint, Object res){ // 只處理JsonResult返回值 if (res instanceof JsonResult) { JsonResult jsonResult = (JsonResult) res; Object data = jsonResult.getData(); if (null != data) { // 把data轉(zhuǎn)成json串,再把json串加密,再替換原來的data,vue攔截到data作全局解密,不影響已綁定的功能。 String json = objectMapper.writeValueAsString(data); String cryptResult = ZYCryptUtils.encryptAES(json); // 在全局響應(yīng)結(jié)果里添加一個(gè)布爾值,方便前端判斷到底是密文還是明文 jsonResult.setEncrypt(true); jsonResult.setData(cryptResult); } } } }
實(shí)際效果:
到此這篇關(guān)于利用SpringAOP的返回通知處理數(shù)據(jù)加密返回的文章就介紹到這了,更多相關(guān)SpringAOP數(shù)據(jù)加密返回內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 增強(qiáng)型for循環(huán)語法詳解
增強(qiáng)型 for 循環(huán)(也稱為 “for-each” 循環(huán))是 Java 從 JDK 5 開始引入的一種便捷循環(huán)語法,旨在簡(jiǎn)化對(duì)數(shù)組或集合類的迭代操作,這篇文章主要介紹了java 增強(qiáng)型for循環(huán) 詳解,需要的朋友可以參考下2025-04-04SpringSecurity實(shí)現(xiàn)圖形驗(yàn)證碼功能的實(shí)例代碼
Spring Security 的前身是 Acegi Security ,是 Spring 項(xiàng)目組中用來提供安全認(rèn)證服務(wù)的框架。這篇文章主要介紹了SpringSecurity實(shí)現(xiàn)圖形驗(yàn)證碼功能,需要的朋友可以參考下2018-10-10springboot上傳zip包并解壓至服務(wù)器nginx目錄方式
這篇文章主要介紹了springboot上傳zip包并解壓至服務(wù)器nginx目錄方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04java使用WatchService監(jiān)控文件夾示例
本篇文章主要介紹了java使用WatchService監(jiān)控文件夾示例的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-02-02淺談java實(shí)現(xiàn)背包算法(0-1背包問題)
本篇文章主要介紹了淺談java實(shí)現(xiàn)背包算法(0-1背包問題) ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08MyBatisCodeHelperPro插件下載及使用教程詳解
這篇文章主要介紹了MyBatis CodeHelperPro插件使用教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-09-09Java+OpenCV調(diào)用攝像頭實(shí)現(xiàn)拍照功能
隨著我們對(duì)環(huán)境、Mat基本使用越來越熟練、Java Swing也逐步熟悉了起來。本文將通過OpenCV驅(qū)動(dòng)攝像頭實(shí)現(xiàn)識(shí)臉和拍照功能,需要的可以參考一下2022-03-03