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
  • 相关阅读:
    文件的基本操作整理
    简谈深浅拷贝
    python进阶之内置方法
    python基础之打/解包及运算符与控制流程
    python中的常用数据类型
    python基础学习(起步)
    趣谈编程语言 (续集)
    豆瓣王守崑:大数据时代社交图谱与兴趣图谱的融合
    常见面试之机器学习算法思想简单梳理
    Future Research Directions in Social Recommendation
  • 原文地址:https://www.cnblogs.com/XJNB/p/13343127.html
Copyright © 2011-2022 走看看