<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>

                接口權限配置 === **目錄索引:** - 功能介紹 - 權限接口定義 - 接口管理 1.配置接口權限 2.增加數據規則權限 - 創建接口角色 - 接口開發實現 - 接口測試 # 接口權限配置講解 ## 一、功能介紹 通過接口配置實現,對接口的訪問權限控制和數據權限控制, 接口時REST接口,接口權限認證機制使用Json web token (JWT) 接口權限調用流程: (1)通過接口用戶的用戶名密碼,調用鑒權token接口獲取接口用戶的token 該token,2個小時內有效 (2)把獲取的token作為參數,調用接口的時候,會根據token去鑒權 (3)鑒權通過,接口會根據接口定義的編碼,檢驗是否有訪問權限 有則可以繼續訪問,無則提示訪問受限 (4)有訪問權限,則獲取接口的數據權限規則,根據授權的數據權限規則返回需要的數據 實現一個新的接口,無需關注token的鑒權機制,需要實現以下步驟: (1)開發一個rest接口 (2)枚舉類InterfaceEnum中定義接口編碼 (3)調用InterfaceUtil工具類getInterfaceRuleDto獲取接口權限,驗證是否有訪問權限,并獲取數據權限 (4)根據獲取的數據權限,組裝查詢條件返回接口數據 ## 二、權限接口定義 開發一個接口rest接口, ``` public enum InterfaceEnum 類中定義接口編碼 blacklist_list("blacklist_list", "黑名單分頁查詢", "/rest/tsBlackListController", "GET", 1) blacklist_list 為接口編碼 ``` ## 三、接口管理 ### 1.配置接口權限 接口權限管理--接口權限錄入, ![](https://img.kancloud.cn/0c/c1/0cc11db5d4458e0a5d64518b662b8b5c_1534x335.png) 接口添加: ![](https://img.kancloud.cn/eb/0a/eb0aebb8d3f8a096bce7935e2df2decb_903x714.png) 說明: 接口權限編碼:該編碼比較重要,每個接口一個編碼,不能重復。該編碼由開發者制定 (見接口權限開發,接口編碼定義) 接口權限名稱:定義名稱 接口權限等級:一級權限,下級權限區分 父級接口:上下級關系維護(父子關系) 接口權限地址:接口請求地址 請求方式:GET、POST、PUT、DELETE 接口權限排序:樹形列表展示的順序 以上信息:接口權限編碼字段比較重要,其他的字段與權限控制無關,只做說明使用 ### 2.增加數據規則權限 ![](https://img.kancloud.cn/8a/43/8a43af2535a665840a81f01e7ac7518e_1575x434.png) ![](https://img.kancloud.cn/40/ee/40eebedaa6f29a5ebe030c32ede048a1_904x553.png) ## 四、創建接口角色 (1)創建接口角色,進行角色授權,然后分配角色給接口用戶 接口權限---接口角色管理 創建接口角色 ![](https://img.kancloud.cn/25/25/25257fb55b9f5850fb4055c6aa244e25_1581x511.png) ![](https://img.kancloud.cn/1f/78/1f78685c87717753e0c920ac5a4428c3_1606x477.png) ## 五、接口開發實現 接口中增加業務邏輯: (1)校驗接口訪問權限 ``` InterfaceRuleDto interfaceRuleDto = InterfaceUtil.getInterfaceRuleDto(request, InterfaceEnum.blacklist_list); if(interfaceRuleDto==null){ return Result.error("您沒有該接口的權限!"); } ``` (2)接口權限規則注入 方案一: 查詢器處理 ``` CriteriaQuery cq = new CriteriaQuery(TsBlackListEntity.class, dataGrid); InterfaceUtil.installCriteriaQuery(cq, interfaceRuleDto, InterfaceEnum.blacklist_list); ``` 方案二: Sql和hql 處理 ``` String qlStr = InterfaceUtil.getQL(interfaceRuleDto, InterfaceEnum.blacklist_list); ``` 把組裝的qlStr 追加到查詢語句中 ## 六、接口測試 ``` //獲取token public static String getToken(String userName,String password){ String url = "http://localhost:8888/jeecg-bpm/rest/tokens?username="+userName+"&password="+password; String token= JwtHttpUtil.httpRequest(url, "POST", null); return token; } ``` ``` //獲取黑名單列表 public static JSONObject getBlackList(String token){ String url = "http://localhost:8888/jeecg-bpm/rest/tsBlackListController"; JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token); return resp; } ``` ``` public static void main(String[] args) { //接口角色授權的用戶賬號密碼 String token = getToken("interfaceuser","123456"); //獲取黑名單列表 System.out.println("======獲取黑名單列表======="+getBlackList(token)); } ```
                  <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>

                              哎呀哎呀视频在线观看