我們的一位架構師正在爲我們公司的下一代應用構建新的參考架構。原型是一個ASP.NET MVC 2 Web應用程序,位於WCF數據服務(Astoria)之上,並使用EntityFramework 4進行數據訪問和對象映射。WCF數據服務(Astoria)是業務線應用程序的理想選擇嗎?
原型應用程序管理用戶的角色,所以服務可以執行諸如創建/更新/刪除用戶,向用戶添加應用程序訪問權限/功能/角色等等。所以從安全角度來看,沒有人應該能夠擊中在應用程序之外的數據服務並且發生任何這些行爲。
我原本以爲WCF數據服務是爲了在網絡上實現OData實現和「開放」服務,並且該業務應用程序應該仍然使用傳統的WCF服務來實現其適應性,安全性和其他功能。我在這裏基地? WCF數據服務是從MVC控制器調用的好選擇嗎?他們是否可以像傳統的WCF服務那樣輕鬆處理認證和安全性?
由於它只是一個演示體系結構的原型,因此沒有任何與此特定應用程序相關的硬性要求。但是,原型管理用戶的角色,因此服務會執行諸如創建/更新/刪除用戶,向用戶添加應用程序訪問權限/功能/角色等等。所以從安全角度來看,沒有人應該能夠訪問數據服務在申請之外並且有任何這些行動發生。 – 2010-08-02 14:53:08
WCF數據服務本身不提供安全解決方案。它依賴於其他圖層來實現這一點(它允許掛鉤使這更容易)。這是一個複雜的主題: - 傳輸級別的安全性 - 依賴於HTTP,因此例如SSL工作得很好。 - 授權 - 您可以在DS之上實現自己的應用程序,並且依賴於HTTP,所以幾乎所有與HTTP協同工作的授權方案都可以正常工作 - 即使正常的WCF服務也不會阻止隨機用戶在您的服務之外應用。你需要保護WCF服務,WCF數據服務 – 2010-08-02 15:14:50
謝謝你們,這是非常棒的見解。 雖然我想確保我沒有將問題限制於安全性,但問題主要在於WCF數據服務爲行業應用程序提供動力是否可接受(或最佳實踐)。看起來答案是「是」。 – 2010-08-02 18:54:27