• 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;
        }
    
    }
    
  • 相关阅读:
    贴图UV动画
    编辑器开发读取LIGHTMAP的脚本
    一个角色旋转身体在向前行走的代码
    第一周
    《大道至简》读后感
    第二周
    Easyui,好的设计思路
    有关反射
    Easyui表格的行编辑
    冒泡排序
  • 原文地址:https://www.cnblogs.com/sntetwt/p/12175536.html
Copyright © 2020-2023  润新知