asp.net core參數保護之自定義要保護的參數類型 Intro 為了實現 asp.net core 下的參數保護,擴展了asp.net core 中 DataProtection,可以自動化的保護某些敏感參數,上次推出之後有一些小伙伴反饋希望能保護 返回的參數,本文主要以 為例介紹如何註冊自定 ...
asp.net core參數保護之自定義要保護的參數類型
Intro
為了實現 asp.net core 下的參數保護,擴展了asp.net core 中 DataProtection,可以自動化的保護某些敏感參數,上次推出之後有一些小伙伴反饋希望能保護 JsonResult
返回的參數,本文主要以 JsonResult
為例介紹如何註冊自定義類型
基本使用
首先需要安裝 nuget 包 WeihanLi.DataProtection
在 Startup 中註冊 ParamsProtection
服務,ParamsProtection
依賴於 DataProtection
所以需要先註冊 DataProtection
服務,示例如下:
services.AddDataProtection()
.AddParamsProtection(options =>
{
options.ProtectParams = new[]
{
"id"
};
});
按照上面的配置,預設就會保護名為 id 的參數(不區分大小寫),更多基本用法參見說明,這裡不再詳細闡述
註冊自定義類型
ParamsProtection
預設只支持保護 ObjectResult 類型的參數,很多人希望添加對 JsonResult
的支持,因為 WeihanLi.DataProtection
這個包里的依賴不包含 JsonResult
所以沒有預設支持,不過現在提供了一種通用的方式可以支持自己註冊了,不僅僅是 JsonResult
,其它你自定義的類型只要實現了 IActionResult 介面的都是可以的。
註冊對 JsonResult
類型的參數保護:
options.AddProtectValue<JsonResult>(r => r.Value);
End
希望對你有幫助,如果使用遇到什麼問題,歡迎與我聯繫