在上一章節(jié)中,我們處理了MVC多級目錄問題,參見《二、處理MVC多級目錄問題——以ABP為基礎架構的一個中等規(guī)模的OA開發(fā)日志》。從這章開始,我們將進入正式的開發(fā)過程。首先,我們要完成系統(tǒng)的基礎設置模塊(在后續(xù)的功能中,需要大量使用這些基礎設置信息)。和一般的OA系統(tǒng)不同,在律所OA系統(tǒng)中,用戶類別管理是基礎模塊中非常重要、使用頻率非常高的一個基礎模塊。雖然此功能只是很小的一個字典項設置,但是其中涉及了鎖、并發(fā)處理、領域服務于應用服務的劃分等繁瑣問題。

UI功能頁面介紹(因用戶功能未完成,欠缺刪除頁面)

UI方面,我們使用了Metronic+EasyUI做為主要呈現(xiàn)方式。其中我們對EasyUI做了相應調(diào)整,已使其更加適用于Metronic風格。其中,上圖所示的cnblogs.scss為本博客的UI風格(仿小米風格,未完工);color.scss為全局顏色設置;common.scss為全局公用css;easyui.custom.scss為我們對EasyUI的樣式修改;metronic.scss為我們對Metronic的樣式調(diào)整; site.scss為程序主css文件。我們在common.scss文件中,導入了color.scss。在site.scss文件中,導入了common.scss、metronic.scss和easyui.custom.scss文件。這樣在布局頁引入css文件時,我們僅需要引入單個site.min.css文件即可,而不用引入一大堆css文件。我們在布局頁中,大量使用了存儲于cdn上的一些css和js文件。這些大多都是一些公用類庫,大家可根據(jù)需要自行下載。

ABP對CSRF/XSRF跨站攻擊的處理

abp通過token驗證以解決上述攻擊問題。只要在模板文件(布局頁)中,增加@{SetAntiForgeryCookie();},即可方便在ABP內(nèi)置的ajax輔助方法中發(fā)送生成的token。但在實際使用中,我們需要做一些處理。ABP的view頁面文件繼承自View目錄下EasyFastWebViewPageBase類(該類最終繼承自AbpWebViewPage類),而SetAntiForgeryCookie()方法則是AbpWebViewPage類的內(nèi)置方法。所以,要使用SetAntiForgeryCookie()方法。我們必須要所有的布局頁全部繼承自EasyFastWebViewPageBase類。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式