簡體   English   中英

WCF服務-如何保護以便只有我的客戶才能使用它?

[英]WCF Service - how to protect so only my clients can use it?

我正在構建一個客戶端程序,該程序通過Internet與WCF服務進行交互。 一切都按預期工作,但我想知道如何保護我的服務,以便只有我的客戶端程序才能使用它?

現在,每個擁有正確服務URL的人都可以將其與WCFTestClient一起使用(例如)。

使其私有化以便只有我的客戶可以使用該服務的最佳方法是什么? 旋轉令牌字符串? 證書? 密碼?

我不知道,也沒有發現互聯網上有用的東西。

最好的祝福

更新:該客戶端程序旨在為公眾(每個人)下載。 因此,它不是供內部使用,而是我們將提供的正式生產中的服務。

我自己的想法是:將證書綁定到我的客戶端程序中(如果可以的話)。 在運行WCF服務的IIS上,檢查有效的證書。 那可能嗎? 還是有更好的解決方案?

如果使用的是表單身份驗證,則可以通過將AspNetCompatibilityRequirementsMode設置為Required來利用ASP.NET來檢查FormAuthentication Cookie。

或者,如果你的服務是獨立即是大家所消耗那么你可以使用OAuth認證,你可以閱讀更多關於它OAuth認證

您所能做的就是將有一個消費者秘密密鑰,該密鑰將與所有經過身份驗證的客戶端共享。 調用者將使用此密鑰對某些信息進行簽名,服務器還將使用相同的密鑰對信息進行簽名,然后進行比較。

希望能幫助到你

保護.net Web服務URL

連同其他答案一樣,這也不錯,如果您要非常小心,可以實施令牌系統,其中客戶端從您那里獲得第一個令牌,每個請求都返回一個新令牌,並且您始終檢查客戶與當前令牌(但我認為這過於謹慎)

更新-由於這是公開的,因此客戶端可以使用一種方法來生成有效令牌以在服務器上進行檢查,您可以使令牌在幾秒鍾的時間內有效,因此即使人們抓住了請求並找到了令牌, ..15秒或30等后無效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM