<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. 我們先測試一下上一章節的接口,發現調用返回成功 ![](https://box.kancloud.cn/93cbca8258b16c111ab67e6869986755_1636x1622.png) 2. 在接口上使用注解指定只能由user角色調用 ![](https://box.kancloud.cn/d87c469939c757c5708d2548aaccfa7f_1786x444.png) 3. 重啟工程后,再次調用發現已經返回未授權,因為當前調用的角色為`admin`,與`user`不匹配 ![](https://box.kancloud.cn/495a6dc445899fd035373be27508427c_1444x1154.png) 4. 修改授權代碼,使`admin`或者`user`其中一個滿足要求即可 ![](https://box.kancloud.cn/b6f8dcf72a6dfac1ef40a98e30aafaf3_1718x428.png) 5. 重啟工程后再次調用發現返回成功 ![](https://box.kancloud.cn/9210bd80463375ef841a77bbd6bb12b3_1578x1592.png) 注:注解指定級別最高,直接規定了某些重要的敏感接口只能由固定的角色才能訪問。但同時帶來但問題是不夠靈活,適用于不能被篡改,只能由管理員調用但接口配置。 ### 二、web動態配置 1. 打開web,進入`接口權限`模塊,點擊`權限配置` ![](https://box.kancloud.cn/6f9b38fbf8162fe21ebebfab2d7f0f6e_3352x1662.png) 2. 在彈出的界面點擊新增按鈕 ![](https://box.kancloud.cn/fe3d5093f0acb62b5ec16c93ff2d9856_2772x1496.png) 3. 填好對應的信息并保存(權限編號推薦使用冒號分割) ![](https://box.kancloud.cn/bd6c579ace18470ba6659cd4d681b8b0_1788x860.png) 4. 發現一條配置已經出現 ![](https://box.kancloud.cn/c3f613a30a92f9d8df09aa1a6cbc5346_3328x1008.png) 5. 打開角色管理進行接口權限配置 ![](https://box.kancloud.cn/7f60b5d7eeda0d6840fe2ac4319e27b4_2306x1402.png) 6. 給后端代碼加上注解 ![](https://box.kancloud.cn/da8ca2c71adb2adc3772ec270189412b_1778x438.png) 7. 重啟工程后訪問接口發現返回成功 ![](https://box.kancloud.cn/265bd6a67d1aecf51674eb7a26d72118_1472x1498.png) 8. 我們嘗試修改下code,然后不用重啟,直接調用,發現請求未授權 ![](https://box.kancloud.cn/38b492d9dc8e5d2f72fe81d1d4200eba_1788x886.png) ![](https://box.kancloud.cn/e734421da9c759015422ec14094e84b2_970x1140.png) 9. 如此一來我們便可以動態配置接口權限,從而來控制角色能訪問的范圍 ### 三、接口全局匹配 1. 可能看完以上兩點,會有小伙伴覺得需要指定到對應到編號、角色才能進行授權。萬一有一些不太確定的場景,需要實時變更,這種情況就不滿足要求了。 2. 這種情況BladeX也有考慮到,對與這種情況,又結合整體系統的性能,提供了一個類下面的全局匹配功能,具體看如下 3. 在控制器類寫上注解(兩種皆可,選其一) ![](https://box.kancloud.cn/83ef5f2ee4d724ce69595bdf1846b3e6_1366x326.png) ![](https://box.kancloud.cn/8734e6ca64e0497df2df661d75020ad5_1348x356.png) 4. 重啟工程后,訪問list接口,發現請求未授權,因為并沒有分配對應的接口權限 ![](https://box.kancloud.cn/3da8776ad9ea16534da55c12ce1fdf8d_1004x1184.png) 5. 新增接口權限(**權限路徑為controller的地址,根據這個匹配,匹配為包含關系。比如設置了/notice/list,那如果匹配到的接口地址是/notice/list/abc或者/abc/notice/list也是能校驗通過的**) ![](https://box.kancloud.cn/4730701c8259717396f54f697a9a177f_1730x888.png) 6. 分配角色權限(**這里樹形控件有個bug,當父級選中后,子節點默認沒有選擇,他也會給勾上。已經有人反饋,需要等官方修復,這時候我們再次點擊下確定即可**) ![](https://box.kancloud.cn/2d4fc591c925edafe5872358669f40fe_786x802.png) 7. 無需重啟工程,再次訪問發現接口返回成功 ![](https://box.kancloud.cn/b359f2d28e1c1e4ff53681bad213bfde_1400x1604.png) ### 四、結尾語 * 看到這里,相信大家對接口權限有了一個大概對認知,主要代碼邏輯為如下兩個類 ![](https://box.kancloud.cn/fb82a5009a5b03352cb1073df5ffdde5_944x872.png) * 大家可以進入AuthFun進行拓展@PreAuth的方法,將整個權限打造為自己公司專屬的系統
                  <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>

                              哎呀哎呀视频在线观看