文件目錄
本節內容:
配置通過特性啟用/禁用
注意簡介
abp提供乙個基礎框架來自動記錄所有與應用的互動,它能記錄有意的方法呼叫和呼叫者資訊與引數。
基本上,儲存的字段有:相關的租戶id,呼叫者id,被呼叫的服務名(被呼叫方法的類名),被呼叫的方法名,執行引數(序列化成json),執行時間,執行時長(毫秒),客戶端ip,客戶端電腦名和異常(如果方法丟擲乙個異常)。
有了這些資訊,我們不僅能知道誰做了操作,也能測量應用的效能和觀察異常,甚至更多,如你可以統計你應用的使用頻次。
審計系統使用iabpseesion來獲取當前userid和tenantid。
應用服務、mvc控制器、web api和asp.net core方法預設情況下被自動審計。
關於 iauditingstore配置審計系統使用iauditingstore來儲存審計資訊,雖然你可以用你自己的方式實現它,但在module-zero專案裡已經完全實現。如果你沒有實現它,******logauditingstore會被使用,它把審計資訊寫入日誌。
為配置審計,你可以在你的模組的preinitialize方法裡使用configuration.auditing屬性。審計預設可用,你可以用如下方式禁用它:
publicclass
mymodule : abpmodule
//...
}
這裡有乙個審計配置列表:
selectors是乙個謂詞列表,用其它型別來儲存審核日誌,乙個選擇器有乙個唯一的名稱和乙個謂詞,在這個列表裡唯一預設的選擇器是用來選擇應用服務類的,它的定義如下所示:
configuration.auditing.selectors.add(newnamedtypeselector(
"", type => typeof
));
你可在你的模組的preinitialize方法裡新增自己的選擇器,同樣,如果你不想為應用服務儲存審計日誌,可通過名稱移除選擇器,這就是為什麼需要乙個唯一的名稱的原因(如果你想,可以使用簡單的linq在selector裡找到乙個選擇器,並移除它)。
注意:除了標準的審計配置,mvc和asp.net core模組為action定義了啟用/禁用審計日誌的配置。
通過特性啟用/禁用
雖然你可以通過配置選擇審計類,但你可以為乙個單獨的類、方法使用audited和disableauditing特性,例如:
[audited] publicclass
myclass
[disableauditing]public
void mymethod2(string
b)
public
void mymethod3(int a, int
b)
}
除了mymethod2,myclass類的其它方法都被審計了,因為mymethod2顯式禁用了審計,audited特性可用在乙個方法上,只對關心的方法進行審計。
disableauditing可用在乙個dto的乙個單獨的屬性上,因此,你可以在審計日誌裡隱藏敏感資料,例如密碼。
注意
Abp框架之審計日誌
1 在abp中,實體派生自entity類。所有實體的主鍵名都是id,但可以是不同的型別,通過泛型來區別,預設為int。public class person entity public virtual datetime creationtime public person 2 介面關係圖 藍色表示屬...
日誌審計系統 事件日誌審計 syslog審計
日誌審計系統 事件日誌審計 syslog審計 任何it機構中的windows機器每天都會生成巨量日誌資料。這些日誌包含可幫助您的有用資訊 獲取位於各個windows事件日誌嚴重性級別的所有網路活動的概述。識別網路異常和潛在的安全漏洞。識別多次登入失敗 嘗試訪問未經授權的站點或檔案等等事件。跟蹤任何事...
mysql審計日誌檔案 MySQL審計日誌處理指令碼
1 mysql配置檔案 cat mysql.cfg 3306 ip x.user root pass xx port 3306 auditlog home mysql data mysql audit.json socket tmp mysql.sock 2 函式檔案,主要是日誌函式 mysql t...