開發指南專題十一:JEECG微雲高速開發平臺--基礎用戶權限
? ?開發指南專題十一:JEECG微雲高速開發平臺--基礎用戶權限
? ?11.1.?權限設計
基本概念
權限管理模塊涉及到的實體有:用戶、角色和系統資源(包含系統菜單、頁面button等
用戶能夠擁有多個角色。角色能夠被分配給多個用戶。
而權限的意思就是對某個資源的某個操作.一般通用的權限管理模塊規定:所謂資源即應用系統中提供的要進行鑒權才幹訪問的資源(比方各類數據,系統菜單);所謂操作即添加、改動、刪除、查詢等操作。
?
權限模型
用戶權限模型。指的是用來表達用戶信息及用戶權限信息的數據模型。
即能證明“你是誰?”、“你能訪問哪些受保護資源?”。
用戶與角色之間構成多對多關系。表示同一個用戶能夠擁有多個角色,一個角色能夠被多個用戶所擁有。
角色與資源之間構成多對多關系。
表示同一個資源能夠被多個角色訪問,一個角色能夠訪問多個資源。
權限設計模型如圖81所看到的。
? ?11.2.? 權限設計目標
權限設計及權限管理的目標包含:
1)?對用戶授予對應的角色
2)?對角色授予不同的菜單
3)?對角色授予不同的操作button權限
4)?進行數據級別的權限控制(行級別、列級別)
? ? ? ?11.3.?權限設計
? ?11.3.1.?數據表
數據表 |
實體類 |
說明 |
t_s_user |
jeecg.system.pojo.base.TSUsr |
[用戶權限]系統用戶表 |
t_s_base_user |
jeecg.system.pojo.base.TSBaseUser |
[用戶權限]系統用戶父類表 |
t_s_role |
jeecg.system.pojo.base.TSRole |
[用戶權限]角色 |
t_s_role_user |
jeecg.system.pojo.base.TSRoleUser |
[用戶權限]用戶角色 |
t_s_depart |
jeecg.system.pojo.base.TSDepart |
[用戶權限]部門機構表 |
t_s_role_function |
jeecg.system.pojo.base.TSRoleFunction |
[用戶權限]角色權限表 |
t_s_operation |
jeecg.system.pojo.base.TSOperation |
[用戶權限]操作權限表 |
t_s_function |
jeecg.system.pojo.base.TSFunction |
[用戶權限]菜單權限表 |
11.3.2.?頁面菜單
權限管理的相關菜單如圖82所看到的。
?
11.3.3.?button權限
使用說明
button級別的權限依賴於菜單權限,也就是說,須要先為角色分配菜單,在已分配的菜單中,能夠選擇能夠操作的button。
button權限的加入在菜單管理頁面。點擊【button設置】。設置該菜單頁面相關的操作button,如圖83所看到的。
button權限的分配在角色管理頁面。在權限設置時。先為角色分配菜單,點擊對應的菜單。在右側的“操作button列表”面板中顯示該菜單可分配的操作button。如圖84所看到的。
開發說明
在JEECG系統中,能夠通過系統的全局變量配置來決定是否啟用button權限。
例如以下:
/resources/sysConfig.properties 中button.authority.jeecg參數值例如以下:? true(開啟button權限) false(關閉button權限) 當為false時默認擁有全部button權限,如(3) |
DateGridTag中依據系統的配置進行button權限的控制:
(1)系統開啟button權限而且DateGridTag裏面相關的button操作有配置則依據配置做button權限的控制;
(2)系統開啟button權限可是DateGridTag裏面相關的button操作沒有配置則不作button權限的控制;
(3)系統關閉button權限則全部的button不做button權限的控制;
(4)admin用戶button權限不做限制。
操作步驟
①button設置:進入【系統管理】→【菜單管理】→【經常使用插件】,點擊【單表模型】的【button設置】
? ? ? ?
? ? ? ??②代碼中對button加入操作代碼。
③角色管理中對菜單設置button權限
④開啟button權限
? ?⑤以角色為【普通用戶】的賬戶登錄系統
開發指南專題十一:JEECG微雲高速開發平臺--基礎用戶權限