【问题标题】:How to authenticate Api Key in the constructor?如何在构造函数中验证 Api Key?
【发布时间】:2014-11-01 13:36:38
【问题描述】:

我有一个 Web 服务类。它有 AddStudnet、RemoveStudnet、UpdateStudent 等方法。这些方法采用 StudentID、FirstName、LastName 等参数。所有这些方法都有一个共同的参数 - Api Key。构造函数不带任何参数。所以,在我所有的方法中,我都在验证 Api Key。如果它不是有效的密钥,则会返回错误消息。

我如何在构造函数中验证 api 密钥并防止对象被实例化,而不是在每个方法中进行身份验证?当我研究防止对象被实例化时,我遇到了抛出异常。如果我抛出异常,网络服务是否会暴露于任何安全漏洞?如果传递了无效的 api 密钥,是否有其他方法可以防止对象被实例化?

【问题讨论】:

    标签: asp.net web-services wsdl code-access-security


    【解决方案1】:

    这里有两篇文章可以帮助您快速入门并向您展示 API 密钥的基本实现:

    罗恩·雅各布首先:

    How to do API key Verification

    二、构造函数如何使用API​​ Key:

    How To Authenticate API Key In The Constructor

    最重要的是在每次调用中验证密钥:

    InstanceContextMode = InstanceContextMode.PerCall 
    

    那行代码强制在每个请求上调用构造函数,因此每个请求都验证 API。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 2018-07-19
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多