【问题标题】:Correct usage of AuthorizationFilterAttributeAuthorizationFilterAttribute 的正确使用
【发布时间】:2012-07-02 18:46:38
【问题描述】:

假设我有一个类似以下的 xml,它被发布到 api 控制器:

<request>
<header><api_key>Somekey</api_key></header>
</request>

如果我想像这样在自定义 AuthorizationFilterAttribute 中验证 api 键:

public override void OnAuthorization(HttpActionContext actionContext)
{
    // Deserialize the posted message and validate the api key.
}

如何在不手动反序列化的情况下做到这一点?

【问题讨论】:

  • 我建议将 API 密钥放在 HTTP 标头或查询字符串中,而不是包含请求数据的正文。
  • 听起来你正在寻找类似我 answered to a similar question. 的事情,请注意答案和 cmets 中的所有警告;)

标签: c# asp.net-web-api


【解决方案1】:

你不想“手动反序列化”是什么意思?您是指控制器支持的自动模型绑定吗?如果是这样,您将无法在管道的那个阶段利用这些优势。

为了回应 peco 的评论,您不应该将 api 密钥放在正文中,而应放在标题或查询字符串中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多