[spring]巧妙利用AOP貍貓換太子

我們從前臺往后臺傳值的時候,傳的可能是一個加密后的字符串,但是不希望后臺的controller類直接獲得是這個加密字符串,而是解密后的字符串。這個時候怎么辦呢?可以增加一個aop來處理

@Component
@Aspect
@Order(10000) //order的值越小越優先執行
public class SecurityAspect {

    @Autowired
    private HttpServletRequest request; // 簡單的注入request

    @Pointcut("execution(@org.springframework.web.bind.annotation.RequestMapping * *(..))")
    public void aspect() {
    }
    
    @Around(value = "aspect() and execution(* create(..)))")
    public Object aroundCreate(ProceedingJoinPoint joinPoint) throws Throwable {
        Object[] params = joinPoint.getArgs();
        params[0] = 解密(param[0]); // 這里解密第一個參數
        return joinPoint.proceed(params);

    }
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,556評論 25 708
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,778評論 18 399
  • 時空是什么?要回答這個問題,我必須用你知道的東西,通過一些邏輯的加工整合,最后讓你生成一種圖像,或是一種“我已經懂...
    悟空金月餃子閱讀 572評論 0 2
  • 今天本想著把手上的事情的做完,回家好好做一個完美的年度計劃,之前在12月28日就寫了一個簡單的總結和目標,遲遲未能...
    鐵拳寶寶愛芝麻閱讀 51評論 0 0