asp.net core引數保護之自定義要保護的引數型別
阿新 • • 發佈:2019-01-06
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
JsonResult
的支援,因為 WeihanLi.DataProtection
這個包裡的依賴不包含 JsonResult
所以沒有預設支援,不過現在提供了一種通用的方式可以支援自己註冊了,不僅僅是 JsonResult
,其它你自定義的型別只要實現了 IActionResult 介面的都是可以的。
註冊對 JsonResult
型別的引數保護:
options.AddProtectValue<JsonResult>(r => r.Value);
End
希望對你有幫助,如果使用遇到什麼問題,歡迎與我聯絡