JEECG 簡單實例講解權限控制


業務背景:某公司要實現一個日志系統,用來了解員工的工作量飽和情況。

需求:

1、角色分為:員工、經理 兩種。

2、員工每天在日志系統中填報工作總結,然后經理進行點評。

3、表單內容包含:姓名、日期、工作總結、個人筆記、日志點評。

業務權限描述

1、  員工可以進行日志填報、查看操作。(按鈕控件權限)

2、  經理可以進行日志點評、查看操作。(按鈕控件權限)

3、  個人筆記 內容只對填報本人可見,經理不能看到 個人筆記內容。(表單字段權限)

4、  經理只可以編輯 日志點評 字段。(表單字段權限)

5、  員工查詢出的數據列表列為

姓名、日期、個人筆記、日志點評 (數據列權限)

6、  經理查詢出的數據列表列為

姓名、日期、日志點評 (數據列權限)

7、  員工只可以看到自己填報的日志記錄。 (數據行權限)

開發過程

1、  創建表單:

2、  編輯頁面屬性

3、  同步數據庫

4、  測試查看表單內容如下

5、  生成代碼

 

6、  把代碼copy到項目中。

7、  新建兩個角色:員工、經理;新建三個用戶:員工小A,員工小B,王經理。並分配對應的角色。

8、  配置菜單

9、  給員工與經理角色分配菜單

使用王經理登錄,測試可以看到 工作日志 菜單了。但要求的權限還沒有進行控制。而且生成的頁面樣式有點問題。

10、  調整頁面樣式,修改按鈕文字、刪除不用的按鈕。

 

權限配置:

權限描述如下

1、  員工可以進行日志填報、查看操作。(按鈕控件權限)

配置 日志點評 按鈕不可見,並對員工角色起作用。

A、在代碼中,日志點評按鈕增加 operationCode="update"

B、在菜單管理中,為 工作日志 菜單加控件權限:日志點評隱藏

C、在角色管理中,員工角色使用此權限控制。

D、測試,可以發現使用員工A和員工B登錄已經看不到 日志點評 了。

2、  經理可以進行日志點評、查看操作。(按鈕控件權限)

配置 日志填報 按鈕不可見,並對經理角色起作用。

過程同上一項。

3、  員工查詢出的數據列表列為

姓名、日期、個人筆記、日志點評

經理查詢出的數據列表列為

姓名、日期、日志點評 (數據列權限)

       配置 個人筆記 列隱藏,並對經理角色起作用。

 

A、 在員工日志下新增控件權限。

B、 對經理角色使用此權限。

C、 測試如下,王經理登錄已經看不到個人筆記一列了。

4、  員工只可以看到自己填報的日志記錄。 (數據行權限)

配置 datagrid 操作createBy =#{ sys_user_code}

A、新增訪問類型的菜單。注意:一定要是訪問類型。路徑為列表查詢action.

B、 對新加的訪問類型菜單增加數據權限。

C、對員工角色使用此數據權限。

D、 分別使用員工A、員工B 錄入數據。測試每個人只可以看到自己錄入的數據。

 

5、  個人筆記 內容只對填報員工可見,經理不能看到 個人筆記內容。(表單字段權限)

配置 個人筆記 表單字段不可見,並對經理角色起作用。

A、 在新增頁面,在<head></head>標簽內引入<t:authFilter></t:authFilter>

在要隱藏的行標簽上加上id或class屬性如下圖:

B、 新增訪問類型菜單

C、 對新增加的菜單增加頁面看空間權限配置

D、 對員工角色使用該權限控制。

E、  測試一下,發現成本在加人數頁面已經沒有了。

加權限以前如下:

6、  日志點評頁面,經理只可以編輯 日志點評 字段。

日志點評頁面把其它字段都使用readonly 屬性。

這個功能說明:雖然權限配置起來很方便,但改變頁面,或方法有時更方便。

 

 完!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM