欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net core参数保护之自定义要保护的参数类型

程序员文章站 2024-01-23 16:24:34
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

希望对你有帮助,如果使用遇到什么问题,欢迎与我联系