<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 概述 Zuul作為網關的其中一個重要功能,就是實現請求的鑒權.而這個動作我們往往是通過Zuul提供的過濾器來實現的. ## ZuulFilter Zuul中的頂級過濾器是ZuulFilter.其中定義了四個最重要的方法. ``` public abstract ZuulFilter implements IZuulFilter{ abstract public String filterType(); //過濾器類型 abstract public int filterOrder(); //過濾器順序.這個值越大,優先級越低 boolean shouldFilter(); //來自IZuulFilter.要不要過濾 Object run() throws ZuulException; //IZuulFilter. 過濾邏輯 } ``` * `shouldFilter`:返回一個`Boolean`值,判斷該過濾器是否需要執行。返回true執行,返回false不執行。 * `run`:過濾器的具體業務邏輯。 * `filterType`:返回字符串,代表過濾器的類型。包含以下4種: * `pre`:請求在被路由之前執行 * `routing`:在路由請求時調用 * `post`:在routing和errror過濾器之后調用 * `error`:處理請求時發生錯誤調用 * `filterOrder`:通過返回的int值來定義過濾器的執行順序,數字越小優先級越高。 ## 過濾器執行生命周期 ![](https://box.kancloud.cn/05d64842ae0abeafda7a34aa52bfab65_538x339.png) * 正常流程: * 請求到達首先會經過pre類型過濾器,而后到達routing類型,進行路由,請求就到達真正的服務提供者,執行請求,返回結果后,會到達post過濾器。而后返回響應。 * 異常流程: * 整個過程中,pre或者routing過濾器出現異常,都會直接進入error過濾器,再error處理完畢后,會將請求交給POST過濾器,最后返回給用戶。 * 如果是error過濾器自己出現異常,最終也會進入POST過濾器,而后返回。 * 如果是POST過濾器出現異常,會跳轉到error過濾器,但是與pre和routing不同的時,請求不會再到達POST過濾器了。 ## 所有內置過濾器列表 ![](https://box.kancloud.cn/74b12eebef18f7ff7ce34e7a296eac1c_560x485.png) ## 使用場景 * 請求鑒權:一般放在pre類型,如果發現沒有訪問權限,直接就攔截了 * 異常處理:一般會在error類型和post類型過濾器中結合來處理。 * 服務調用時長統計:pre和post結合使用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看