如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回
更新時間:2024年12月20日 09:17:36 作者:淺度差文
這篇文章主要介紹了如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
項目安全要求把所有返回值做加密處理,利用SpringAOP的返回切面可以簡單方便的做到該需求。
@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é)果里添加一個布爾值,方便前端判斷到底是密文還是明文 jsonResult.setEncrypt(true); jsonResult.setData(cryptResult); } } } }
實際效果:
到此這篇關(guān)于利用SpringAOP的返回通知處理數(shù)據(jù)加密返回的文章就介紹到這了,更多相關(guān)SpringAOP數(shù)據(jù)加密返回內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringSecurity實現(xiàn)圖形驗證碼功能的實例代碼
Spring Security 的前身是 Acegi Security ,是 Spring 項目組中用來提供安全認證服務(wù)的框架。這篇文章主要介紹了SpringSecurity實現(xiàn)圖形驗證碼功能,需要的朋友可以參考下2018-10-10springboot上傳zip包并解壓至服務(wù)器nginx目錄方式
這篇文章主要介紹了springboot上傳zip包并解壓至服務(wù)器nginx目錄方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04java使用WatchService監(jiān)控文件夾示例
本篇文章主要介紹了java使用WatchService監(jiān)控文件夾示例的資料,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2017-02-02MyBatisCodeHelperPro插件下載及使用教程詳解
這篇文章主要介紹了MyBatis CodeHelperPro插件使用教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-09-09Java+OpenCV調(diào)用攝像頭實現(xiàn)拍照功能
隨著我們對環(huán)境、Mat基本使用越來越熟練、Java Swing也逐步熟悉了起來。本文將通過OpenCV驅(qū)動攝像頭實現(xiàn)識臉和拍照功能,需要的可以參考一下2022-03-03