zoukankan      html  css  js  c++  java
  • WebApi认证刷选器获取Post参数

    使用webapi再所难免会遇到认证需求,毕竟没有认证的服务安全隐患太大。

    我们在webapi中进行认证基本上都是新增一个刷选器,继承AuthorizeAttribute。继承后需要重写HandleUnauthorizedRequest方法实现拦截上下文,拦截后可对本次请求进行验证。

    如果你的webapi认证秘钥是通过参数进行则需要将参数取出来进行比较,比较通过则认证通过,否则返回401。

    我在写的时候发现get方式很简单,因为参数是直接在url后,截取下就ok了,但是post方式则取不到参数,在网上找了好久发现可以通过以下代码截取post的参数:

    protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
    {
        base.HandleUnauthorizedRequest(actionContext);
        HttpContent content = actionContext.Request.Content;
        //执行该句,会将action的参数实体置为空
        Task<JObject> task = content.ReadAsAsync<JObject>();
        var result = task.Result;
        if (!data.CheckSign(model.access_secret, task.Result))
        {
            return false;
        }
    
    }
    
  • 相关阅读:
    ipad 横屏 竖屏 CSS
    播放多个音视频文件
    插入百度地图
    js getByClass函数封装
    jq 测试是否到页面最底端
    python字符串跟整型互转
    day01-day04总结- Python 数据类型及其用法
    斐波那契数列的非递归
    LeetCode: 3SumClosest
    LeetCode: 3Sum
  • 原文地址:https://www.cnblogs.com/sntetwt/p/12175536.html
Copyright © 2011-2022 走看看