<<ABP文檔>> 審計日志
本節(jié)內(nèi)容:
維基百科:“一個審計追蹤(也叫審計日志)是一個安全相關(guān)的時序記錄、記錄組、和/或記錄源和目標(biāo),作為任何時候一個特殊操作帶來影響的一序列活動的書面文件”。
ABP提供一個基礎(chǔ)框架來自動記錄所有與應(yīng)用的交互,它能記錄有意的方法調(diào)用和調(diào)用者信息與參數(shù)。
基本上,保存的字段有:相關(guān)的租戶id,調(diào)用者id,被調(diào)用的服務(wù)名(被調(diào)用方法的類名),被調(diào)用的方法名,執(zhí)行參數(shù)(序列化成Json),執(zhí)行時間,執(zhí)行時長(毫秒),客戶端IP,客戶端電腦名和異常(如果方法拋出一個異常)。
有了這些信息,我們不僅能知道誰做了操作,也能測量應(yīng)用的性能和觀察異常,甚至更多,如你可以統(tǒng)計你應(yīng)用的使用頻次。
審計系統(tǒng)使用IAbpSeesion來獲取當(dāng)前UserId和TenantId。
應(yīng)用服務(wù)、Mvc控制器、Web Api和Asp.net Core方法默認情況下被自動審計。
審計系統(tǒng)使用IAuditingStore來保存審計信息,雖然你可以用你自己的方式實現(xiàn)它,但在module-zero項目里已經(jīng)完全實現(xiàn)。如果你沒有實現(xiàn)它,SimpleLogAuditingStore會被使用,它把審計信息寫入日志。
為配置審計,你可以在你的模塊的PreInitialize方法里使用Configuration.Auditing屬性。審計默認可用