Intro
为了实现 ASP.NET core 下的参数保护, 扩展了 ASP.NET core 中 DataProtection, 可以自动化的保护某些敏感参数, 上次推出之后有一些小伙伴反馈希望能保护 JsonResult 返回的参数, 本文主要以 JsonResult 为例介绍如何注册自定义类型
基本使用
首先需要安装 nuget 包
在 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
希望对你有帮助, 如果使用遇到什么问题, 欢迎与我联系
来源: https://www.cnblogs.com/weihanli/p/10229706.html