ASP.Net 过滤器

2021-01-18 18:16

阅读:608

标签: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(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.ReadAsAsyncobject>().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


评论


亲,登录后才可以留言!