Lind.DDD.Manage項目核心技術分享


回到目錄

關於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框架的關注,讓我們一起把框架做的更好!

感謝各位!

回到目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM