asp.net core参数保护之自定义要保护的参数类型
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
希望对你有帮助,如果使用遇到什么问题,欢迎与我联系
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。