2009-12-23 64 views
5

我正在WCF中實現一項服務,需要通過用戶名/密碼進行自定義用戶身份驗證。此服務配置爲WebScript(JSON)服務。如何使用WCF/JSON對用戶進行身份驗證和跟蹤?

我想知道是否有可能獲得安全上下文,所以我不必在每次調用中都包含散列或用戶/密碼。我知道我可以爲此使用證書,但是我需要具有驗證的使用/傳遞機制。

我打算使用AJAX(jQuery)與此服務交談,並且應該可以使用基本的HTTP身份驗證。

該服務稍後還會公開其他端點,例如通過TCP,並且這確實支持「正確的」身份驗證。

WCF的安全性有很多種方法,我覺得有點失落,感覺就像我讀得越多,知道得越少。

回答

3

鑑於您將爲此使用jQuery(它假設爲HTTP傳輸),您首先要做的是確保此端點的方案是HTTPS。如果不是,那麼你會遇到很多麻煩,因爲你受到中間人攻擊。

這篇博客顯示瞭如何去創建一個自定義的用戶名/密碼驗證:

http://blogs.msdn.com/pedram/archive/2007/10/05/wcf-authentication-custom-username-and-password-validator.aspx

如果您正在使用HTTPS,那麼你應該能夠設置安全模式,而不是傳輸消息的而且它應該工作。

這就是說,對於這項服務,如果你不想每次都傳遞用戶和密碼,那麼你需要在後端使用基於會話的服務,這需要使用一個cookie(但這將在綁定中爲您處理)。

3

除了使用HTTPS,我建議看看this article關於使用WCF構建REST服務。有一個關於使用HMAC的部分有一些好的想法。根據您的情況,您可能還需要考慮將auth卸載到另一個提供程序(OpenId實現程序),並只保留側面無密碼的配置文件。

相關問題