1. 程式人生 > >【JEECG技術博文】JEECG 簡單例項講解許可權控制

【JEECG技術博文】JEECG 簡單例項講解許可權控制

               

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、員工錄入資料。測試每個人只可以看到自己錄入的資料。 

 

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

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

       A、 在新增頁面,為點評行加上t:authFilter標記 (頁面底部加)

       B、 新增訪問型別選單 

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

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

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

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

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

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

    完成!