原文:
asp.net core参数保护之自定义要保护的参数类型
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(r => r.Value);
End
希望对你有帮助,如果使用遇到什么问题,欢迎与我联系
posted on 2019-01-06 22:17 阅读( ...) 评论( ...)