美文网首页.NET CoreAmazing .NETASP.NET Core见识录
asp.net core参数保护之自定义要保护的参数类型

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

作者: 天天向上卡索 | 来源:发表于2019-01-06 18:01 被阅读0次

    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

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

    相关文章

      网友评论

        本文标题:asp.net core参数保护之自定义要保护的参数类型

        本文链接:https://www.haomeiwen.com/subject/vrpwlqtx.html