JEECG平臺權限設計

JEECG平臺權限設計

連接存放位置:https://github.com/PlayTaoist/jeecg-lession/tree/master/%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86-lessionjava

1、權限的設計概念

JEECG封裝了完善的用戶權限模塊,支持菜單權限,列表權限,表單權限,數據權限。數據權限功能已實現極致: 支持行級、列級、字段級控制,實現不一樣人看不一樣數據,不一樣人對同一個頁面操做不一樣字段。系統按鈕權限和表單權限原來是正控制,只有受權的人才有權限,未受權看不到對應按鈕;(admin擁有超級權限,不受控制)git

用戶權限模塊:指用戶信息及用戶權限信息數據。一個用戶能夠分配多個角色;也能夠隸屬於多個組織結構;多個組織機構狀況下,登陸須要選擇機構登陸,方便數據權限控制。多個組織登陸狀況以下:github

1

管理員能夠對用戶進行管理,若是用戶已經失效能夠直接凍結該用戶禁止其登陸,新開的用戶須要激活後才能登陸數據庫

2

2、權限的對象

JEECG權限設計,採用用戶、角色、菜單、組織機構來進行組建,角色爲主要受權對象,組織機構能夠分配角色。 菜單類型分兩種:權限類型和菜單類型less

  • 菜單類型: 菜單類型的菜單,在首頁菜單展現和訪問使用
  • 權限類型: 權限類型的菜單,在首頁菜單不作展現,只作權限控制使用

1.用戶管理

用戶管理,用戶能夠分配多個角色;也能夠隸屬於多個組織機構,多個組織機構狀況下,登陸須要選擇機構登陸,方便數據權限控制;測試

3

2.角色管理

角色是權限組單位,經過角色管理菜單權限。網站

4

3.菜單管理

菜單管理,用來作首頁菜單管理和權限管理,權限包括:菜單訪問權限、按鈕權限、表單權限、數據權限。編碼

5

4.組織機構管理

組織機構管理,支持集團模式多個分公司,第一級默認是公司類型,從二級開始可設置部門和崗位,部門和崗位經過類型區分;組織機構能夠單獨設置角色;url

6

3、數據權限規則

1、功能說明

列表數據權限,主要經過數據權限控制行數據,讓不一樣的人有不一樣的查看數據規則; 好比: 銷售人員只能看本身的數據;銷售經理能夠看全部下級銷售人員的數據;財務只看金額大於5000的數據等等;hibernate

2、數據權限分兩大類型

序號 類型 規則字段區別 說明
1 編碼方式 規則字段是駝峯寫法,對應hibernate實體的字段 編碼模式(經過代碼生成器生成代碼)
2 Online方式 規則字段是下劃線寫法,對應表的字段 Online模式(在線表單模式,無代碼)

3、數據權限規則篇

1.當前用戶上下文變量

注意:數據權限配置,規則值能夠填寫系統上下文變量(當前登陸人信息),從而根據當前登陸人信息進行權限控制。

編碼 描述
sys_user_code 當前登陸用戶登陸帳號
sys_user_name 當前登陸用戶真實名稱
sys_date 當前系統日期
sys_time 當前系統時間
sys_company_code 當前登陸用戶公司編號
sys_org_code 當前登陸用戶部門編號

規則值,配置寫法以下:#{sys_user_code}

4、如何生成代碼

首先登陸網站===>在線開發===>Online表單開發===>建立表單

7

建立表單後須要先同步到數據庫,而後點擊代碼生成 。能夠根據彈出的對話框選擇代碼生成的存放位置。而後copy到項目中。

另一種生成方案是使用Java中的GUI生成代碼。『官方建議使用Online生成』。直接run As test包下的JeecgOneGUI.java 文件而後彈出錄入界面

8

若是是基礎功能不建議選擇生成代碼。直接在線生成就能夠,若是有須要作開發API接口給前臺使用的則須要生成代碼放到項目中以便增長註解【API採用Swagger】,只有在方法上加入@ApiOperation註解才能在Swagger中顯示。

5、功能測試

建立表單後而且同步到數據庫後能夠在表單後面看到一個***功能測試***按鈕。點擊功能測試按鈕看到的界面就是咱們須要的生成的界面,建立表的時候風格通常都是默認不作選擇

9

10

6、具體的數據權限控制

1.按鈕權限規則控制

列表按鈕權限控制,主要是控制列表上按鈕、操做連接的隱藏;按鈕權限配置後,默認未受權用戶都看不到,具體配置在菜單中配置如圖

11

頁面控件編碼operationCode

<t:dgToolBar title="填報日誌" icon="icon-add" url="tBussDailyLogController.do?goAdd" operationCode="#db_generate_input" funname="add"></t:dgToolBar>
	<t:dgToolBar title="日誌點評" icon="icon-edit" url="tBussDailyLogController.do?goUpdate" operationCode="#db_generate_form" funname="update"></t:dgToolBar>
   <t:dgToolBar title="查看" icon="icon-search" url="tBussDailyLogController.do?goUpdate" funname="detail"></t:dgToolBar>

頁面控件編碼能夠自定義,把定義好的編碼填寫到 【菜單欄目的】-【頁面控件】

填寫完畢後點擊【角色管理】能夠根據角色來選擇是否隱藏按鈕【隱藏不大勾,打勾不隱藏】

12

2.列表數據權限用法

數據權限菜單的配置

建立數據權限類型菜單(注意:列表訪問連接和數據請求連接不是一個,此爲加載數據請求) 注意: 這裏很容易配置錯誤,必定注意【datagrid針對列表數據控制?後面要跟datagrid】 用戶數據請求地址:userController.do?datagrid

13

列數據權限控制

若是想隱藏某一列的值,不想讓某類用戶看到該列的值可使用以下方法

請看操做步驟

15

而後給角色分配權限

16

使用角色爲 經理的用戶進行登陸看到的效果以下:

17

而後給經理角色【頁面權限規則】 工做日誌字段隱藏 打勾

18

打勾完畢後,再次使用角色爲 經理的用戶進行登陸看到的效果以下:

19

若是隻想讓登陸用戶只能看到本身的數據能夠進行以下操做

首先須要在菜單欄目中進行設置

20

設置完畢後進入角色管理,給角色分配權限

21

使用員工角色登陸而後查看顯示效果以下

22

再次給員工角色分配權限,打上勾

23

而後再次使用員工角色登陸而後查看顯示效果以下

24

相關文章
相關標籤/搜索