2016-12-22 71 views
0

我正在使用Zuul作爲調用我們可能的休息終端的網關。該網關負責獲得身份驗證,並從身份驗證的用戶那裏獲取權限和信息。我要ZuulFilter返回403

爲了做到這一點,我在執行這樣一個ZuulFilter:

@Component 
public class JWT2UserProfile extends ZuulFilter { 

    ... 

    @Override 
    public Object run() { 

     final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); 
     if (authentication exists...) { 
      get the user profile data and add it to the request 
      ... 
     } else { 
      return ResponseEntity.status(403); 
     } 

    } 

    @Override 
    public boolean shouldFilter() { 
     return true; 
    } 

    @Override 
    public String filterType() { 
     return "pre"; 
    } 

    @Override 
    public int filterOrder() { 
     return 10; 
    } 

} 

的問題是,如果做網關的要求,沒有認證,我還是去了「最終」端點。我應該改變什麼來使過濾器(或者過濾器不是一個好的選擇)返回403響應。

+0

[NetflixOSS Zuul過濾器拒絕請求]的可能重複(https://stackoverflow.com/questions/31099368/netflixoss-zuul-filter-for-rejecting-requests) – g00glen00b

回答

0

挖掘它更深之後,我發現了同樣的問題:

NetflixOSS Zuul Filter for rejecting requests

該解決方案提供的作品。

+0

這應該是一個評論,而不是答案。如果它是一個重複的問題,[關閉投票](http://stackoverflow.com/help/privileges/close-questions),並且/或者在您[賺取]時留下評論(http://meta.stackoverflow .com/q/146472)夠[聲望](http://stackoverflow.com/help/whats-reputation)。如果不是,請調整這個具體問題的答案。 – g00glen00b