關于Lind.DDD.Manager的培訓與學習
講解:張占嶺
花名:倉儲大叔
主要框架:Lind.DDD,Lind.DDD.Manager
關于Lind.DDD.Manager
由于數據模型,數據庫初始化(Code.First自動升級數據庫或者進行數據庫版本的遷移)控制器,View視圖,css,js等元素組件的一套標準的后臺管理系統框架,可以直接應用到任何一個系統上,可以它將發布到Nuget上,以后安裝和更新更加方便。
如何為你的項目安裝Lind.DDD.Manager
Lind在nuget上早已有了自己的版本,用戶在自己的項目上直接從nuget上在線安裝即可,它將會把對應的view,content,script,dll等安裝到你的對應項目中,你不必擔心它的升級,因為一切由nuget來控制!
關于幾大過慮器,代替配置麻煩和過時的HttpModule
Lind.DDD.Authorization.Mvc.AuthorizationLoginFilter:對用戶登陸后的授權
Lind.DDD.Filters.ActionAuthorityAttribute:對指定Action添加操作權限的標識
Lind.DDD.Filters.ActionLoggerAttribute:對指定Action進行操作日志的記錄
Lind.DDD.Filters.ActionTrackAttribute:對action執行時間的跟蹤
Lind.DDD.Filters.ExceptionErrorLoggerAttribute:對action執行過程中,異常的捕獲
Lind.DDD.Manager.Filters.ManagerUrlAttribute:對指定Url與系統Url進行對比,用于菜單權限的控制
Lind.DDD.Manager.Filters.ManagerActionLoggerAttribute:后臺操作日志記錄,它繼承自ActionLoggerAttribute類,主要實現了后臺日志持久化機制
關于控制器與模塊
后臺模塊設計,要求每個模塊屬于一個controller(控制器),這樣可以更好控制每個action的行為權限。
關于角色-菜單-操作權限的設計
關于Action中添加權限特性標識
行為類型的枚舉
為每個Action應用自己的行為特性
關于Action中添加操作日志特性標識
由于自己的業務系統在記錄日志時的持久化方式比較多,所以我們將獲取日志的邏輯與持久化的邏輯進行分離,獲取放在Lind.DDD里,而持久化的邏輯放在具體的項目中,如Lind.DDD.Manager項目,它有自己的操作日志過濾器,它項目里的Action應用它的ManagerActionLoggerAttribute即可,代碼如下
在Action上應用代碼如下
關于數據集權限
對業務平臺的相關數據表的某些字段進行控制,根據不同的角色,為業務平臺返回不同的數據集合,而對于業務平臺來說,它們將成為對表進行過濾的一種條件!
模型的設計
先添加數據集的類型,用于從業務平臺選擇需要篩選的所有數據
然后添加對應的值,選對應的類型,可以被篩選出來的目標數據
業務平臺可以根據自己的用戶編號userid,表名type和字段名field來獲取指的數據,框架中提供了/WebDataSetting/GetDataSet方法,返回為目標值組成的字符串,每個值用逗號做分割。
關于菜單權限的安全設計
在Lind.DDD.Manager里,菜單權限會被分配到每個角色中,而用戶登陸后,會根據它的角色來顯示對應的菜單列表,這通常表現在左側的導航菜單上,而如果用戶在地址欄直接輸入菜單的URL進行訪問時,我們也有對應的ManagerUrlAttribute對它進行控制,主要邏輯是使用數據庫里的菜單與當前角色所擁有的菜單進行比對,如果存在這個權限,菜單對應的頁面才可以被訪問。
感謝各位對Lind.DDD框架的關注,讓我們一起把框架做的更好!
感謝各位!
文章列表