中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET審計日志怎么配置

發布時間:2021-12-06 13:33:34 來源:億速云 閱讀:235 作者:iii 欄目:大數據

這篇文章主要介紹“ASP.NET審計日志怎么配置”,在日常操作中,相信很多人在ASP.NET審計日志怎么配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ASP.NET審計日志怎么配置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

審計跟蹤(也稱為審核日志)是一個安全相關的時間順序記錄,記錄這些記錄的目的是為已經影響在任何時候的詳細操作,提供程序運行的證明文件記錄、源或事件。

ABP提供了能夠為應用程序交互自動記錄日志的基礎設施,它能記錄你調用的方法的調用者信息和參數信息。從根本上來說,存儲區域包含:

  • tenant id(相關的租戶Id),

  • user id(請求用戶Id),

  • server name(請求的服務名稱【調用方法對應的類】),

  • method name(調用方法名稱),

  • parameters(方法的參數【JSON格式】),

  • execution time(執行時間),

  • duration (執行耗時時間【通常是毫秒】),

  • IP address (客戶端IP地址),

  • computer name(客戶機名稱),

  • exception (異常【如果方法拋出異常】)等信息。

  • 有了這些信息,我們不僅能夠知道誰進行了操作,還能夠估算出應用程序的性能及拋出的異常。甚至更多的,你可以得到有關應用程序的使用情況統計。

審計系統使用IAbpSession接口來獲取當前用戶Id和租戶ID。

注意:關于IAuditingStore接口

審計系統使用IAuditingStore接口來保存審計信息。module-zero項目是這個接口的完整實現,當然你也可以通過自己的方式來實現這個接口。如果你不想自己實現這個接口,SimpleLogAuditingStore類可以直接拿來使用,它是實現方式是將審計信息寫入日志中。

配置

可以在你的模塊初始化方法(PreInitialize)中使用Configuration.Auditing的屬性來配置審計,Auditing屬性默認是啟用狀態(即true)。你可以禁用它,如下圖所示:

public class MyModule : AbpModule
{
public override void PreInitialize()
{
Configuration.Auditing.IsEnabled = false;
}

//...
}

以下是審計配置的屬性:

  • IsEnabled: 用于設置完全啟用或禁用審計系統。默認值:true.

  • IsEnabledForAnonymousUsers:如果設置成ture,未登陸的用戶的審計日志也會保存。默認值: false.

  • MvcControllers: 在ASP.NET MVC 控制器中使用審計日志

  • IsEnabled: 在ASP.NET MVC中啟用(true)或禁用(false)審計日志. 默認值: true.

  • IsEnabledForChildActions: 為MVC actions啟用(true)或禁用(false)審計日志. 默認值: false.

  • Selectors: 選擇使用其他類來處理審計日志的存儲。

正如你所看到的,審計系統單獨為mvc控制器提供了審計配置使之可以使用不同的方法來使用它。

Selectors是一個斷言(推斷類型)選擇器列表,用于選擇那種方式來保存審計日志。每一個選擇器包含一個唯一的名稱和一個斷言。斷言列表中默認的選擇器,使用的是應用程序服務類。如下圖所示:

Configuration.Auditing.Selectors.Add(
new NamedTypeSelector(
"Abp.ApplicationServices",
type => typeof (IApplicationService).IsAssignableFrom(type)
)
);

你可以在自己的模塊初始化方法(PreInitialize)中添加自己的斷言選擇器。同樣的,如果你不喜歡使用應用程序服務來保存審計日志,你也可以通過名稱(name)來移除斷言選擇器,這就是為什么斷言選擇器的名稱必須是唯一的(你也可以通過Linq的方式查找到選擇器來移除它)。

通過屬性來啟用和禁用審計日志

當你使用配置項來配置斷言選擇器時,你可以通過使用Audited和DisableAuditing特性標記到單個類或單個方法來實現審計系統的啟用和禁用。例如:

[Audited]
public class MyClass
{
public void MyMethod1(int a)
{
//...
}

[DisableAuditing]
public void MyMethod2(string b)
{
//...
}

public void MyMethod3(int a, int b)
{
//...
}
}

上述列子中,MyClass類中除了MyMethod2明確標記不需要審計外,其他的方法都會被審計。Audited特性能夠幫助你只想保存審計日志的方法,進行審計日志保存。

說明

保存審計日志的方法必須是public修飾的,private和protected修飾的方法將會被忽略。 如果調用的方法不在類的引用范圍內,那么引用的方法必須是虛方法(virtual),如果依賴注入的是它自己的接口則不需要是虛方法(例如注入 IPersonService 來使用 PersonService類)。

ABP使用動態代理和攔截機制以后,使用虛方法是必須的。對MVC Controller actions 使用審計日志不是正確的做法,因為他們可能不是虛方法。

到此,關于“ASP.NET審計日志怎么配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开原市| 长白| 广元市| 阆中市| 中江县| 什邡市| 昭觉县| 金川县| 双峰县| 宜春市| 中阳县| 江城| 江都市| 南京市| 永靖县| 沿河| 霞浦县| 陇西县| 梅河口市| 阿克苏市| 龙井市| 海口市| 普安县| 闵行区| 玛沁县| 曲水县| 巧家县| 惠安县| 旅游| 德州市| 东宁县| 临安市| 兴业县| 始兴县| 齐河县| 福清市| 陇南市| 宾川县| 景德镇市| 武清区| 大竹县|