webAPI过滤器返回数据加密
标签:cat data amp body action lis err etc rri
项目需求:
接口返回的数据,存在一些敏感信息,不希望其他用户看到,将Data进行加密传输
代码如下:
public class EncryptDataFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
base.OnActionExecuted(actionExecutedContext);
var actionList=actionExecutedContext.ActionContext.ActionDescriptor.GetCustomAttributes();
var controllList= actionExecutedContext.ActionContext.ControllerContext.ControllerDescriptor.GetCustomAttributes();
if (actionList.Any()||controllList.Any())
{
if (((System.Net.Http.ObjectContent)actionExecutedContext.Response.Content).Value is AjaxResCode)
{
AjaxResCode result = actionExecutedContext.Response.Content.ReadAsAsync().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;
}
}
}
}
}
webAPI过滤器返回数据加密
标签:cat data amp body action lis err etc rri
原文地址:https://www.cnblogs.com/zhuyapeng/p/8384168.html
评论