码迷,mamicode.com
首页 > Web开发 > 详细

ASP.Net 过滤器

时间:2020-07-20 10:40:40      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:gif   over   headers   code   app   ali   ada   default   request   

授权过滤器

技术图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
using WebApplication17.Models;
using Newtonsoft.Json;
using System.Net.Http;

namespace WebApplication17.Models
{
    public class MyAuthrizeAttribute:AuthorizeAttribute
    {
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            //base.OnAuthorization(actionContext);
            if (actionContext.Request.Headers.Contains("BWAUTH"))
            {
                var headers = actionContext.Request.Headers.GetValues("BWAUTH");
                JWTHelper helper = new JWTHelper();
                string playload = helper.GetPayload(headers.FirstOrDefault());
                UserInfo user = JsonConvert.DeserializeObject<UserInfo>(playload);
                actionContext.ControllerContext.RouteData.Values.Add("User", user);

            }
            else
            {
                var msg = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK);
                BWActionResult result = new BWActionResult() { Code = 1, Msg = "未认证", Data = null };
                msg.Content = new StringContent(JsonConvert.SerializeObject(result));
                actionContext.Response = msg;

            }
        }
    }
}
View Code

结果过滤器

技术图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Filters;
using System.Net.Http;
using Newtonsoft.Json;

namespace WebApplication17.Models
{
    public class BWActionFilterAttribute:ActionFilterAttribute
    {
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
            var result =   actionExecutedContext.ActionContext.Response.Content.ReadAsAsync<object>().Result;
            BWActionResult data = new BWActionResult() { Code = 0, Msg = "Ok", Data = result };
            actionExecutedContext.Response.Content = new StringContent( JsonConvert.SerializeObject(data), System.Text.Encoding.UTF8,"application/json" );
        }
    }
}
View Code

 

ASP.Net 过滤器

标签:gif   over   headers   code   app   ali   ada   default   request   

原文地址:https://www.cnblogs.com/XJNB/p/13343127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!