第5章EEP2019WEB進階設計第5章EEP2019WEB進階設計\5-3WebSecurity安全管理

5-3WebSecurity安全管理

 

 

EEP2019除了使用主功能表中的安全管理外,在每個頁面中同樣有一個WebSecurity,用來負責管理個別頁面的安全控管,可以讓每個登錄的UserUser或所屬Group的不同,對網頁做不同的權限設定,來達到安全管理的目標,我們同樣用W001來舉例說明,如下。

 

Step1打開W001,在網頁上貼入一個WebSecurity元件。屬性設定如下圖。

Œ  DBAlias』設定為安全管理的系統資料表是存於那一個資料庫名稱,此DBAlias僅使用於設計模式中,用來選擇MenuID及輸出設定到MenuTableControl時使用;

 

    MenuID』屬性用來搭配EEPManager中設定的功能表ID,因為在EEPManager中設定功能表ID時,就代表連接到那一個頁面,所以此網頁的WebSecurity設定就必須與此MenuID一起搭配使用,否則無法產生對應;

 

Ž  MenuID』是可以在此用選的;

 

  Priority』則用來設定是以Group優先或User優先,如果兩者都有設定的話。

 

    另一個屬性為『RelaxMode』,代表是否開啟寬鬆模式,所謂寬鬆模式模式是代表如果該UserGroup2種以上不同的允許設定時,只有其中有一個允許就代表允許,反之,則只要有一個為不允許就代表不允許;


5-3-1 設置WebSecurity元件

 

Step2為了能展現WebSecurity功能,我們在W001中貼入一個Button1元件,並將『Text』設定為【權限測試】。

 

5-3-2 貼入一個Button1元件

 

Step3WebSecurity按右鍵,選擇「Export」,會彈出如下圖所示的編輯對話窗,代表要設定哪些元件要輸出到EEPManager中供User來自由設定。如下:

 

5-3-3 Export輸出視窗

 

上圖中,其各按鈕的功能說明如下:

l[Add All]:把表單上所有的ButtonPanelWebDataSorceWebSec Columns等元件自動增加進來,注意只能對這些元件進行輸出,如果要對其他元件進行權限控制,須自行搭配Panel來使用即可。

l[Add]自由選擇所需要的元件來增加,選擇後點擊OK

l[Delete]:刪除已經增加進來的元件。

l[Refrash]把所有未增加的元件,自動增加進來。

 

Step4請按【Add All】來增加所有項目,除了我們貼的Button1外,系統會自動將WebDataSource也輸出。

 

一般情況下,本WebSecurity元件只能控制VisibleEnable,分別代表是否可以看見與操作,但是針對WebDataSource來說是較為特別的,可以讓User自由去設定是否可以新增/更改/刪除/印表/輸出等詳細功能,與一般元件不太一樣。按下【OK】之後,會將這些功能項目輸出到系統資料表MenuTableControl中,再配合EEPManager來讓User做相關的設定。

5-3-4 功能項目輸出系統資料表

 

Step5打開EEPManager,正式來設定此網頁中相關的權限許可。選System下的Security Manager,選擇「Menu Utility」這個頁籤。


5-3-5 進入Menu Utility

Step6點選「W001」這個網頁上的功能項。由於之前我們設定了以Group為主體的使用權限,所以這裡點選下方的【Access Groups】按鈕。如果想以User的角色來設定,可以點選【Access Users】來依使用者不同來設定使用權。

 

5-3-6 設定Group使用權限

 

Step7選擇要設置安全管理的Group,如我們選擇「EveryOne」,並再下方按下【Access Control】按鈕,代表要對EveryOne來設定共同的權限。

 

5-3-7 設定共同的權限


如上圖,其中各按鈕的功能如下:

l[Add All]將該頁所有可以設定的元件項目自動新增進來(來自MenuTableControl這個系統表)。

l[Add]提供此頁面可以新增的元件項目,供User選擇元件。

l[Delete]:刪除已經設定的元件項目。

l[Update]將此控制權的設定存回相對的系統資料表中,如果是Access Groups者會存入GroupMenuControl中,如果是Access Users則會存入UserMenuControl中。

 

Step8因此我們按下【Add All】按鈕,結果就如下圖:

 

5-3-8 添加設定元件

Step9在此我們在Master這個WebDataSource項目中,對此EveryOne群組設定其『AllowAdd』和『AllowUpdate』項目為【N】,再對Button1(權限測試)的『Enabled』設為【N】,最後不要忘記按下【Update】,將設定的內容寫回系統資料表中。

5-3-9 設定元件許可權

 

Step10接著點選W001,右鍵「Build Page」,在InfoLogin.aspx右鍵「View In Browser」,並且登入後選W001來執行,查看該網頁,將出現如圖的結果。

 

 

5-3-10 執行W001


 

 

Top of Page