如何在构造函数中验证Api Key?

时间:2014-11-01 13:36:38

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

我有一个Webservice类。它有AddStudnet,RemoveStudnet,UpdateStudent等方法。这些方法采用StudentID,FirstName,LastName等参数。所有这些方法都有一个通用参数--Api Key。构造函数不接受任何参数。因此,在我的所有方法中,我都在验证Api密钥。如果它不是有效密钥,则返回错误消息。

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

1 个答案:

答案 0 :(得分:0)

这篇文章将为您提供一些启动,并向您展示API Key的基本实现:

首先是Ron Jacob:

How to do API key Verification

其次,如何将API Key与构造函数一起使用:

How To Authenticate API Key In The Constructor

最重要的是用这个验证每次通话中的键:

InstanceContextMode = InstanceContextMode.PerCall 

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

希望能帮助你。