我是WCF新手,我想知道如何保護WCF Rest服務。 我有一個asp.net網站,只有註冊用戶可以訪問它,應用程序使用託管在同一個IIS服務器上的服務,我的問題是,我怎樣才能限制使用這個服務,因爲只有註冊用戶纔可以使用它,知道該服務可以被許多客戶使用(Android,iPhone,...)。我可以使用哪種類型的身份驗證?測試我創建了一個winform的服務,並使用HttpWebRequest。 PS:我無法使用https。 謝謝如何使用用戶名和密碼保護WCF Rest服務?
0
A
回答
0
最簡單的方法是使用asp.net兼容模式。 WCF服務調用將導致用於ASP.NET頁面的相同預處理,包括檢查ASP.NET auth和會話cookie。您還將能夠檢查HttpContext,包括httpcontext.current.user.identity.isauthenticated。如果用戶未通過身份驗證,請拋出異常或返回錯誤代碼。以下是一些更多信息:http://msdn.microsoft.com/en-us/library/aa702682.aspx。
因此,如果您已經爲您的應用程序使用表單身份驗證,並且應該在用戶登錄到您的應用程序後調用該服務,則會進行設置。
您還可以創建身份驗證服務。該服務將允許客戶端發送用戶名/密碼,並將使用ASP.NET身份驗證來驗證用戶。它會發送一個auth cookie,然後你可以像上面那樣檢查未來的服務呼叫。見http://msdn.microsoft.com/en-us/library/bb386582.aspx。
我相信認證服務可以使用json調用。請參閱How to Call .NET AuthenticationService from json client without ASP.NET。
相關問題
- 1. 如何在WCF Rest服務中保留用戶名和密碼
- 2. 使用用戶名密碼保護URL
- 3. 使用用戶名和密碼驗證wcf服務用戶
- 4. 簡單的用戶名和密碼保護散景服務器
- 5. 如何保護用戶名,密碼,api_keys
- 6. 如何使用spring3保護服務REST?
- 7. 使用用戶名和密碼的WCF服務
- 8. 保護REST API的用戶/密碼
- 9. 使用Spring Security和OAuth2保護Spring Rest - 用戶名/密碼公開
- 10. 如何使用用戶名和密碼驗證託管的wcf服務?
- 11. 如何保護wcf服務
- 12. 保護基於REST的WCF服務
- 13. 如何保護AWS RDS主用戶名和密碼?
- 14. 使用用戶名和密碼保護一個aspx頁面
- 15. 使用用戶名和密碼保護S3網站
- 16. 密碼保護Web服務
- 17. 如何保護我的Web服務,用戶名/密碼或令牌?
- 18. 如何保存用戶名和密碼?
- 19. 使用NT用戶名/密碼對話框保護ASP.NET網站
- 20. WCF Web服務需要訪問用戶名和密碼信息
- 21. WCF驗證和用戶名/密碼授權來限制服務
- 22. WCF服務授權通過用戶名和密碼
- 23. symfony web服務用戶名和密碼
- 24. 如何獲取WCF調用服務端的用戶名和密碼?
- 25. 如何調用WCF服務的JavaScript通過用戶名和密碼
- 26. 使用HMAC保護REST服務
- 27. Wcf REST服務和客戶
- 28. 保護WCF服務供iPhone使用
- 29. 保護WCF服務
- 30. WCF用戶名/密碼提示
謝謝Jappel的快速回答,但我想當我們談論Rest服務時,一切都必須通過URL發生,對吧?我在想,也許客戶端不能與cookie交互。 –
我想很多人會同意你的看法。但需要授權來調用服務意味着您需要將某種令牌傳遞給服務器。像這樣的驗證數據真的是你的服務的元信息,而cookies提供了一個很好的方式將這些信息傳遞給服務器,而不會讓你的服務界面混亂。我確信其他人會與我衷心不同,但我認爲這是一個很好的妥協。 – Japple
非常感謝@Japple,你的回答對我有很大的幫助,我會向我的客戶推薦cookie或實現OAuth(或類似的東西)。 –