日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【JEECG技术文档】JEECG 接口权限开发及配置使用说明

發(fā)布時間:2025/3/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JEECG技术文档】JEECG 接口权限开发及配置使用说明 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.功能介紹


通過接口配置實現(xiàn),對接口的訪問權(quán)限控制和數(shù)據(jù)權(quán)限控制,接口時REST接口,接口權(quán)限認證機制使用Json web token (JWT)

接口權(quán)限調(diào)用流程:

? ? (1)通過接口用戶的用戶名密碼,調(diào)用鑒權(quán)token接口獲取接口用戶的token

? ? ? ? ? ? ?該token,2個小時內(nèi)有效

? ? (2)把獲取的token作為參數(shù),調(diào)用接口的時候,會根據(jù)token去鑒權(quán)

? ? (3)鑒權(quán)通過,接口會根據(jù)接口定義的編碼,檢驗是否有訪問權(quán)限

? ? ? ? ? ? 有則可以繼續(xù)訪問,無則提示訪問受限

? ? (4)有訪問權(quán)限,則獲取接口的數(shù)據(jù)權(quán)限規(guī)則,根據(jù)授權(quán)的數(shù)據(jù)權(quán)限規(guī)則返回需要的數(shù)據(jù)


?????實現(xiàn)一個新的接口,無需關注token的鑒權(quán)機制,需要實現(xiàn)以下步驟:

? ? (1)開發(fā)一個rest接口

? ? (2)枚舉類InterfaceEnum中定義接口編碼

? ?(3)調(diào)用InterfaceUtil工具類getInterfaceRuleDto獲取接口權(quán)限,驗證是否有訪問權(quán)限,并獲取數(shù)據(jù)權(quán)限

? ?(4)根據(jù)獲取的數(shù)據(jù)權(quán)限,組裝查詢條件返回接口數(shù)據(jù)


2.?權(quán)限接口定義


開發(fā)一個接口rest接口,

public?enum?InterfaceEnum ??類中定義接口編碼

blacklist_list("blacklist_list", "黑名單分頁查詢", "/rest/tsBlackListController", "GET", 1) blacklist_list 為接口編碼


3.?接口管理

3.1 ?配置接口權(quán)限,

? ? 接口權(quán)限管理--接口權(quán)限錄入


??

? 接口添加:



說明:

  • ? ? 接口權(quán)限編碼:該編碼比較重要,每個接口一個編碼,不能重復。該編碼由開發(fā)者制定(見接口權(quán)限開發(fā),接口編碼定義)
  • ? ? 接口權(quán)限名稱:定義名稱
  • ? ? 接口權(quán)限等級:一級權(quán)限,下級權(quán)限區(qū)分
  • ? ? 父級接口:上下級關系維護(父子關系)
  • ? ? 接口權(quán)限地址:接口請求地址
  • ?請求方式:GETPOSTPUTDELETE
  • ? ? 接口權(quán)限排序:樹形列表展示的順序

? ? 以上信息:接口權(quán)限編碼字段比較重要,其他的字段與權(quán)限控制無關,只做說明使用



3.2 增加數(shù)據(jù)規(guī)則權(quán)限


????

?



4.?創(chuàng)建接口角色


4.1 創(chuàng)建接口角色,進行角色授權(quán),然后分配角色給接口用戶

? ? ??接口權(quán)限---接口角色管理 ??創(chuàng)建接口角色


?


5.?接口開發(fā)實現(xiàn)


接口中增加業(yè)務邏輯:

5.1 校驗接口訪問權(quán)限


InterfaceRuleDto interfaceRuleDto = InterfaceUtil.getInterfaceRuleDto(request, InterfaceEnum.blacklist_list);if(interfaceRuleDto==null){return Result.error("您沒有該接口的權(quán)限!");}

5.2 接口權(quán)限規(guī)則注入


?????方案一:

?????查詢器處理


CriteriaQuery cq = new CriteriaQuery(TsBlackListEntity.class, dataGrid);InterfaceUtil.installCriteriaQuery(cq, interfaceRuleDto, InterfaceEnum.blacklist_list);

? ? 方案二:

? ? Sqlhql 處理


String qlStr = InterfaceUtil.getQL(interfaceRuleDto, InterfaceEnum.blacklist_list);

? 把組裝的qlStr 追加到查詢語句中


6.?接口測試


//獲取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) {//接口角色授權(quán)的用戶賬號密碼String token = getToken("interfaceuser","123456");//獲取黑名單列表System.out.println("======獲取黑名單列表======="+getBlackList(token));}

總結(jié)

以上是生活随笔為你收集整理的【JEECG技术文档】JEECG 接口权限开发及配置使用说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。