zoukankan      html  css  js  c++  java
  • ASP.Net 过滤器

    授权过滤器

    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
  • 相关阅读:
    网络诊断工具:[tcpdump]
    网络诊断工具:iproute
    C语言编译全过程
    (Ruby)Ubuntu12.04安装Rails环境
    (Life)牛人的学习方法(转译文)
    (WPF)WPF事件要点WPF宝典笔记
    (WPF)依赖属性要点WPF宝典笔记
    (DP)降低代码重构的风险(转载)
    (WPF)路由事件要点WPF宝典笔记
    JDBC,MYBATIS,Hibernate性能对比!
  • 原文地址:https://www.cnblogs.com/XJNB/p/13343127.html
Copyright © 2011-2022 走看看