zoukankan      html  css  js  c++  java
  • web api对接小程序基本签名认证

    using BMOA.Application.System;
    using BMOA.Common;
    using BMOA.Web.Models;
    using Newtonsoft.Json;
    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Linq;
    using System.Net.Http;
    using System.Web;
    using System.Web.Http.Controllers;
    using System.Web.Http.Filters;
    
    namespace KBMOA.Web.Filter
    {
        /// <summary>
        /// Api请求过滤器
        /// </summary>
        public class ApiFilter : ActionFilterAttribute
        {
            /// <summary>
            /// 小程序端请使用sha1加密appkey
            /// </summary>
            /// <param name="actionContext"></param>
            public override void OnActionExecuting(HttpActionContext actionContext)
            {
                string appkey = string.Empty;
                string apppwd = string.Empty;
                if (actionContext.Request.Headers.Contains("appkey"))
                {
                    appkey = HttpUtility.UrlDecode(actionContext.Request.Headers.GetValues("appkey").FirstOrDefault());
                }
                if (actionContext.Request.Headers.Contains("apppwd"))
                {
                    apppwd = HttpUtility.UrlDecode(actionContext.Request.Headers.GetValues("apppwd").FirstOrDefault());
                }
    
                //判断请求头是否包含以下参数
                if (string.IsNullOrEmpty(appkey) || string.IsNullOrEmpty(apppwd))
                {
                    Check(actionContext);
                    base.OnActionExecuting(actionContext);
                }
                if (appkey.Equals(YG_Config.appkey) == false || string.Equals(apppwd, ZEncypt.Sha1(appkey), StringComparison.CurrentCultureIgnoreCase) == false)
                {
                    Check(actionContext);
                    base.OnActionExecuting(actionContext);
                }
            }
    
            private void Check(HttpActionContext actionContext)
            {
                ResponseModel result = new ResponseModel() { Success = false };
                result.Message = "此请求未经授权";
                actionContext.Response = actionContext.Request.CreateResponse(result);
            }
        }
    }
  • 相关阅读:
    异常
    抽象类
    java基础—接口3
    java基础—接口2
    java基础—接口1
    Android拍照适配方案
    继承—Car
    继承—矩形
    使用CSS和jQuery实现tab页
    纯CSS实现圆形进度条
  • 原文地址:https://www.cnblogs.com/fanying/p/10973460.html
Copyright © 2011-2022 走看看