zoukankan      html  css  js  c++  java
  • webAPI过滤器返回数据加密

    项目需求:

      接口返回的数据,存在一些敏感信息,不希望其他用户看到,将Data进行加密传输

    代码如下:

        public class EncryptDataFilterAttribute : ActionFilterAttribute
        {
            public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
            {
    
                base.OnActionExecuted(actionExecutedContext);
    
                var actionList=actionExecutedContext.ActionContext.ActionDescriptor.GetCustomAttributes<EncryptDataAttribute>();
                var controllList= actionExecutedContext.ActionContext.ControllerContext.ControllerDescriptor.GetCustomAttributes<EncryptDataAttribute>();
    
                if (actionList.Any()||controllList.Any())
                {
                    if (((System.Net.Http.ObjectContent)actionExecutedContext.Response.Content).Value is AjaxResCode)
                    {
                        AjaxResCode result = actionExecutedContext.Response.Content.ReadAsAsync<AjaxResCode>().Result;
                        if (result.Data!=null&&!string.IsNullOrWhiteSpace(result.Data.ToString()))
                        {
                            string data= Newtonsoft.Json.JsonConvert.SerializeObject(result.Data);
                            //数据加密过程
                            result.Data = AesEncrypt.Encrypt(data, "123456");
                            string res = Newtonsoft.Json.JsonConvert.SerializeObject(result);
    
                            HttpResponseMessage response = new HttpResponseMessage { Content = new StringContent(res, Encoding.GetEncoding("UTF-8"), "application/json") };
                            actionExecutedContext.Response = response;
                        }
                    }
                }
            }
        }    
  • 相关阅读:
    微服务简介
    docker跨主机通信扁平化网络的设计与实现
    docker学习ppt
    docker原理介绍
    我的博客搬家啦
    响应式之像素和viewport
    换行+省略号
    ITerms2在mac系统下的安装和配色,并和go2shell关联
    利其器之webstorm快捷键
    React入门 (2)—实现微博展示列表
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/8384168.html
Copyright © 2011-2022 走看看