在AWTK串列埠介面中,內建的使用者管理和許可權控制模型,無需編碼即可實現登入、登出、密碼修改、許可權控制、使用者建立、使用者刪除等功能。使用者管理和許可權控制是常用的功能。 在工業軟體中,使用者通常分為幾個不同的角色,每個角色都有不同的許可權,例如管理員、操作員和維護者。 在AWTK串列埠畫面中,內建了基本的使用者管理和許可權控制功能,可以滿足常見需求。 開發者無需編寫,設計好的使用者介面,通過資料和命令繫結規則,即可實現使用者和許可權管理功能,如登入、登出、更改密碼、許可權控制、建立使用者、刪除使用者等功能。
本文介紹AWTK串列埠介面中的使用者管理和許可權控制功能。
1.出廠預設使用者。
在下面的資料檔案中,您可以修改出廠預設使用者和密碼。 密碼使用 SHA256 加密,可以使用**工具生成。
design/default/data/user_manager.csv例如,演示中的預設使用者為:
admin|0|8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918|管理員(預設密碼:admin)。2.資料檔案格式。
將使用者名稱和密碼以 CSV 格式儲存在檔案中,每行乙個使用者,每行按以下格式儲存:
使用者名稱。 提供中文服務。
角色。 它用於實際的許可權控制,並且可以按照定義的方式使用。 例如,0 是管理員,1 是表運算子,2 是維護者。
密碼。 使用 SHA256 加密。
備註。 提供中文服務。
在下面的資料繫結中,name 表示使用者名稱,role 表示角色,password 表示密碼,memo 表示備註。
3.使用者登入。
3.1 使用者登入命令。
啟用使用者管理後,預設模型會提供登入命令。
login 命令依賴於兩個屬性:
login username 登入名的使用者名稱。
登入密碼。
login 命令需要乙個引數來指定成功登入後將重定向到的目標頁面。
3.2 資料繫結。
mode=onewaytomodel 表示單向繫結,只能從控制項繫結到模型,主要是因為模型中的密碼是加密的雜湊值,不能反向繫結到控制項。
這意味著輸入到控制項中的資料使用 SHA256 加密,然後分配給模型。
3.3 命令繫結。
3.4 演示參考介面。
4.使用者登入狀態。
4.1 使用者登入狀態。
當使用者成功登入時,預設模型中提供了兩個變數:
username 登入名的使用者名稱。
userrole登入名的使用者角色。
UserRole 是乙個整數,允許您通過 UserRole 控制許可權。
4.2 資料繫結。
4.3 命令繫結。
例如,只能由管理員訪問的頁面,可以使用以下命令進行繫結:
例如,如果只需要管理員來執行某些命令,則可以使用以下命令繫結:
4.4 演示參考介面。
具有完整功能的管理介面。
工程師介面,一些功能可用。
5.更改密碼。
5.1 更改密碼命令。
啟用使用者管理後,預設模型會提供更改密碼的命令。
change password 命令依賴於兩個屬性:
更改密碼。
更改確認密碼以確認更改後的密碼。
change password 命令不需要引數。
5.2 資料繫結。
5.3 命令繫結。
5.4 演示參考介面。
6.使用者管理。
前面的模型是預設的,使用者管理模型是使用者管理器。
6.1 使用者管理命令。
啟用使用者管理後,使用者管理模型(使用者管理器)會提供許多命令。
新增以新增使用者。
remove 刪除使用者。
編輯編輯使用者。
s**e 儲存使用者。
重新載入使用者。
設定選定的 設定選定的使用者。
6.2 資料繫結。
6.3 命令繫結。
為了防止使用者刪除 Admin 使用者,您可以設定 Delete 按鈕的 enable 屬性。 繫結規則如下:
6.4 演示參考介面。
7.建立使用者。
使用者管理器模型提供用於建立使用者的 add 命令。 如果支援建立使用者,則需要提供建立使用者的介面,視窗名稱必須為“使用者管理器新增”。
新引數允許您設定預設資料。 例如:
user_manager(new=' |1| |');7.1 型號。
用於建立使用者的介面具有自己的模型,該模型表示當前建立的使用者。
它具有以下屬性:
name 表示使用者名稱 username。
role 表示角色 role。
password 表示密碼。
memo 的意思是 memo 備註。
它還提供了乙個命令來確認增加。
add 命令。
7.2 資料繫結。
7.3 命令繫結。
7.4 演示參考介面。
8.編輯使用者。
使用者管理器模型提供了乙個可用於編輯使用者的編輯命令。 如果支援編輯使用者,則需要提供編輯使用者的介面,視窗名稱必須為使用者管理器編輯。
8.1 型號。
用於編輯使用者的介面有自己的模型,該模型表示當前編輯的使用者。
它具有以下屬性:
name 表示使用者名稱 username。
role 表示角色 role。
memo 的意思是 memo 備註。
不需要其他命令。
8.2 資料繫結。
8.3 命令繫結。
updateModel=true 更新模型,closewindow=true 關閉視窗。
8.4 演示參考介面。
9.注意。
這個專案不寫介面相關的**,awstudio在src pages目錄下生成了一些**框架,這些**沒有使用,你可以刪除它或不去管它,但你不能把它新增到編譯中。
在實際開發過程中,可以參考 Demo User Manager 演示專案,在其他 UI 檔案上進行修改。
zlg**:ZLG 開發者社群:
更多技術乾貨請關注“ZLG致遠電子”微信***