2014-11-01 24 views
1

我有一個Webservice類。它具有諸如AddStudnet,RemoveStudnet,UpdateStudent等方法。這些方法使用StudentID,FirstName,LastName等參數。所有這些方法都有一個公共參數--ApiKey。構造函數不接受任何參數。所以,在我所有的方法中,我正在驗證Api Key。如果它不是有效的密鑰,則返回錯誤消息。如何在構造函數中驗證Api Key?

而不是在每個方法中進行身份驗證,我如何驗證構造函數中的API密鑰並防止對象被實例化?當我正在研究防止對象被實例化時,我遇到了拋出異常。如果我拋出異常,Web服務是否會暴露於任何安全漏洞?如果傳遞一個無效的api密鑰,是否有不同的方法來防止對象被實例化?

回答

0

這裏有兩篇文章,會給你一個揭開序幕,並告訴你的API密鑰的基本實現:

首先由羅恩·雅各布:

How to do API key Verification

其次,如何使用API​​密鑰與構造函數:

How To Authenticate API Key In The Constructor

最重要的事情是verifie d在每次調用鍵與此:

InstanceContextMode = InstanceContextMode.PerCall 

這行代碼被強制爲每個請求的構造函數的調用,所以每次請求API進行驗證。

希望對你有所幫助。

相關問題