ABP文件 審計日誌

2021-09-09 02:23:09 字數 1760 閱讀 5277

文件目錄

本節內容:

配置通過特性啟用/禁用

注意簡介

abp提供乙個基礎框架來自動記錄所有與應用的互動,它能記錄有意的方法呼叫和呼叫者資訊與引數。

基本上,儲存的字段有:相關的租戶id,呼叫者id,被呼叫的服務名(被呼叫方法的類名),被呼叫的方法名,執行引數(序列化成json),執行時間,執行時長(毫秒),客戶端ip,客戶端電腦名和異常(如果方法丟擲乙個異常)。

有了這些資訊,我們不僅能知道誰做了操作,也能測量應用的效能和觀察異常,甚至更多,如你可以統計你應用的使用頻次。

審計系統使用iabpseesion來獲取當前userid和tenantid。

應用服務、mvc控制器、web api和asp.net core方法預設情況下被自動審計。

關於 iauditingstore

審計系統使用iauditingstore來儲存審計資訊,雖然你可以用你自己的方式實現它,但在module-zero專案裡已經完全實現。如果你沒有實現它,******logauditingstore會被使用,它把審計資訊寫入日誌。

配置

為配置審計,你可以在你的模組的preinitialize方法裡使用configuration.auditing屬性。審計預設可用,你可以用如下方式禁用它:

public

class

mymodule : abpmodule

//...

}

這裡有乙個審計配置列表:

selectors是乙個謂詞列表,用其它型別來儲存審核日誌,乙個選擇器有乙個唯一的名稱和乙個謂詞,在這個列表裡唯一預設的選擇器是用來選擇應用服務類的,它的定義如下所示:

configuration.auditing.selectors.add(

newnamedtypeselector(

"", type => typeof

));

你可在你的模組的preinitialize方法裡新增自己的選擇器,同樣,如果你不想為應用服務儲存審計日誌,可通過名稱移除選擇器,這就是為什麼需要乙個唯一的名稱的原因(如果你想,可以使用簡單的linq在selector裡找到乙個選擇器,並移除它)。

注意:除了標準的審計配置,mvc和asp.net core模組為action定義了啟用/禁用審計日誌的配置。

通過特性啟用/禁用

雖然你可以通過配置選擇審計類,但你可以為乙個單獨的類、方法使用audited和disableauditing特性,例如:

[audited]

public

class

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...