springMVC 過濾/攔截器 HandlerInterceptorAdapter

  • 一般的,對瀏覽器的請求進行攔截過濾,是通過Filter 實現,在 springMVC 中提供的 HandlerInterceptorAdapter 這個適配器,集成這個便可以實現Filter 所有功能進行攔截,
  • HandlerInterceptorAdapter 有4個方法
    • preHandle(): 預處理, 在業務處理器被調用之前執行,常用做權限驗證,字符集等
    • postHandle(): 在業務處理執行完成返回渲染頁面之前執行;
    • afterCompletion() 在業務處理器被調用之後執行
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    	// 獲取並校驗登錄認證註解
        if(handler instanceof HandlerMethod) {
           
        }else{
            return true;
        }
    
        if(annotation == null){
            return true;
        }
    
        //從header中獲取token
        String token = request.getHeader("token");
        //如果header中不存在token,則從參數中獲取token
        if(StringUtils.isBlank(token)){
            token = request.getParameter("token");
        }
    
        //token爲空
        if(StringUtils.isBlank(token)){
            throw new RRException("token不能爲空");
        }
    
        //查詢token信息
    
    
        //設置userId到request裏,後續根據userId,獲取用戶信息
        request.setAttribute(USER_KEY, tokenEntity.getUserId());
    
        return true;
    }
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章