JEECG 簡單例項講解許可權控制

self_control發表於2015-12-09

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

需求:

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、 在新增頁面,為點評行加上t:authFilter 標記

B、 新增訪問型別選單

C、 對新增加的選單增加控制許可權

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

E、  測試一下,發現日誌點評在日誌填報頁面已經沒有了。

6、  日誌點評頁面,經理只可以編輯 日誌點評 欄位。

日誌點評頁面把其它欄位都使用readonly 屬性。

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

 

 完!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30066956/viewspace-1868754/,如需轉載,請註明出處,否則將追究法律責任。

相關文章