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
  • 相关阅读:
    第一节
    20150506--不重复的随机(备忘)
    20150506—WinForm自动生成按钮&按钮拖动
    20150414---ListView简介(web)
    20150410---GridView分页(备忘)
    添加图片
    20150311—html中iframe(转发)
    20150323--MVC
    20150320--安全性,Membership类
    20150317--委托、代理
  • 原文地址:https://www.cnblogs.com/XJNB/p/13343127.html
Copyright © 2011-2022 走看看