中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

Lind.DDD.Manage項目核心(xin)技術分(fen)享

回到目錄

關于(yu)Lind.DDD.Manager的培訓與學習

講解:張占嶺

花名:倉儲大叔

主(zhu)要框架:Lind.DDD,Lind.DDD.Manager

關于Lind.DDD.Manager

由于數據模型,數據庫初始化(Code.First自動升級數據庫或者進行數據庫版本的遷移)控制器,View視圖,css,js等元素組件的一套標準的后臺管理(li)系統框架,可(ke)以(yi)直接應(ying)用到(dao)任何一個系統上(shang)(shang),可(ke)以(yi)它將(jiang)發布到(dao)Nuget上(shang)(shang),以(yi)后安裝和更新更加方便(bian)。

 

如何為你的項目安裝Lind.DDD.Manager

Lind在(zai)nuget上(shang)早已有了自己(ji)的(de)(de)版本(ben),用戶在(zai)自己(ji)的(de)(de)項目(mu)上(shang)直接從nuget上(shang)在(zai)線安裝即可,它將會把對應(ying)(ying)的(de)(de)view,content,script,dll等安裝到你(ni)(ni)的(de)(de)對應(ying)(ying)項目(mu)中,你(ni)(ni)不必擔心它的(de)(de)升級,因(yin)為一切由nuget來控制!

 

關于幾大過慮器,代替配置麻煩和過時的HttpModule

Lind.DDD.Authorization.Mvc.AuthorizationLoginFilter:對用戶登陸(lu)后(hou)的授權

Lind.DDD.Filters.ActionAuthorityAttribute:對指定(ding)Action添加操(cao)作權限的標識

Lind.DDD.Filters.ActionLoggerAttribute:對指定Action進行操(cao)作(zuo)日(ri)志的(de)記錄

Lind.DDD.Filters.ActionTrackAttribute:對action執行時間的跟(gen)蹤

Lind.DDD.Filters.ExceptionErrorLoggerAttribute:對action執行過程中,異常的捕獲(huo)

Lind.DDD.Manager.Filters.ManagerUrlAttribute:對指定(ding)Url與系統Url進(jin)行(xing)對比,用于菜單權限的控制

 Lind.DDD.Manager.Filters.ManagerActionLoggerAttribute:后(hou)臺(tai)操作日志記錄(lu),它繼(ji)承自(zi)ActionLoggerAttribute類,主要實現了后(hou)臺(tai)日志持久化(hua)機制

關于控制器與模塊

后臺模(mo)塊設(she)計(ji),要求每(mei)個模(mo)塊屬于一個controller(控制(zhi)器),這樣可(ke)以更好控制(zhi)每(mei)個action的行為權限。

關于角色-菜單-操作權限的設計

 

關于Action中添加權限特性標識

行為類型(xing)的枚舉

為每個Action應用自(zi)己的行為特(te)性

關于Action中添加操作日志特性標識

由于自己(ji)的(de)(de)(de)業務系統在(zai)記錄日志(zhi)時(shi)的(de)(de)(de)持(chi)久化方式比(bi)較多(duo),所以我們將(jiang)獲取日志(zhi)的(de)(de)(de)邏輯與(yu)持(chi)久化的(de)(de)(de)邏輯進行分離,獲取放(fang)在(zai)Lind.DDD里(li),而持(chi)久化的(de)(de)(de)邏輯放(fang)在(zai)具體的(de)(de)(de)項(xiang)目中,如Lind.DDD.Manager項(xiang)目,它有自己(ji)的(de)(de)(de)操作日志(zhi)過濾器,它項(xiang)目里(li)的(de)(de)(de)Action應用它的(de)(de)(de)ManagerActionLoggerAttribute即可,代碼如下

 

在Action上應用代(dai)碼如下

 

關于數據集權限

對(dui)業務平臺(tai)(tai)的(de)相關數(shu)據(ju)表的(de)某些字段進(jin)行控制,根據(ju)不同(tong)(tong)的(de)角色,為業務平臺(tai)(tai)返回不同(tong)(tong)的(de)數(shu)據(ju)集(ji)合,而對(dui)于業務平臺(tai)(tai)來說,它(ta)們將成為對(dui)表進(jin)行過濾的(de)一種條件!

模型的設計

 

先添加(jia)數據集的(de)類型,用于從業務平臺選擇需(xu)要篩(shai)選的(de)所有數據(ju)

 

然后添加對應的(de)值,選對應的(de)類型,可(ke)以被篩選出來(lai)的(de)目標數據

 

業務平臺可以根據自(zi)己的(de)用戶編號userid,表名(ming)type和字段(duan)名(ming)field來獲取指的(de)數據,框架中提供了/WebDataSetting/GetDataSet方法,返回(hui)為目(mu)標值(zhi)組成的(de)字符(fu)串,每(mei)個值(zhi)用逗號做分割。

關于菜單權限的安全設計

在(zai)(zai)Lind.DDD.Manager里,菜單(dan)(dan)權(quan)限會(hui)被分配(pei)到(dao)每個角色中,而(er)用戶(hu)登陸后,會(hui)根(gen)據(ju)它(ta)的(de)角色來(lai)顯示對(dui)(dui)(dui)應(ying)的(de)菜單(dan)(dan)列表(biao),這(zhe)通常表(biao)現在(zai)(zai)左側的(de)導航菜單(dan)(dan)上(shang),而(er)如果用戶(hu)在(zai)(zai)地(di)址欄直接輸入(ru)菜單(dan)(dan)的(de)URL進(jin)行(xing)訪(fang)(fang)問時,我們也有對(dui)(dui)(dui)應(ying)的(de)ManagerUrlAttribute對(dui)(dui)(dui)它(ta)進(jin)行(xing)控制,主要邏輯是(shi)使用數據(ju)庫里的(de)菜單(dan)(dan)與當前角色所擁有的(de)菜單(dan)(dan)進(jin)行(xing)比對(dui)(dui)(dui),如果存在(zai)(zai)這(zhe)個權(quan)限,菜單(dan)(dan)對(dui)(dui)(dui)應(ying)的(de)頁面才可以被訪(fang)(fang)問。

感謝各位對(dui)Lind.DDD框架的(de)關注(zhu),讓我們一起把(ba)框架做的(de)更好!

感謝各位!

回到目錄

 

posted @ 2016-08-10 10:48  張占嶺  閱讀(2354)  評論(6)    收藏  舉報