2

我想從場景開始。 我儘可能地創建了一個WCF服務,這意味着我有三個端點,一個使用wsHttpBinding(SOAP),後者在設置證書時將使用傳輸安全性,另外兩個webHttpBindings,一個格式化JSON和其他XML消息,我想在那裏添加傳輸安全性。有關可互操作(SOAP,REST)WCF服務的安全性和身份驗證設計概念

既然這些端點與我接受和返回字符串的簡單示例方法一起工作,我必須弄清楚我需要選擇的身份驗證系統!

主要客戶端應用程序將是一個ASP.NET MVC應用程序,在這裏我很樂意使用ASP.NET成員資格提供程序在我的客戶端應用程序內進行身份驗證和授權,並通過WCF請求使用這些憑據。我可以做到這一點,但現在其他系統供應商進入設計可能(至少現在)和Android和iOS移動設備。好的是,我們有REST端點可用於他們想要消費和正常處理的任何數據,通過REST端點進行身份驗證會發生什麼情況?我永遠不會使用開箱即用的ASP.NET成員資格提供程序到我的WCF並自動處理請求,我可以嗎?

我現在的第一個問題是,我可以以某種方式組合嗎?有最佳實踐的人,誰在那裏實施了這樣的場景?我應該使用自定義身份驗證系統嗎?我應該從內部使用Membership API並驗證每次對數據庫的調用嗎? 還有很多其他問題我沒有用REST獲得...憑證在每個消息頭請求中?

我腦海中還有另一件事是創建兩個不同的服務(一個用於MVC應用程序,另外兩個用於REST XML,JSON根據數據庫對每個請求進行身份驗證),但這是我猜想的可維護的噩夢。

你明白了,任何建議和想法都歡迎!

謝謝。

回答

1

你爲什麼不試試ServiceStack。推動你的所有邏輯服務和客戶端將使用您最喜愛的js庫如angularjs單頁應用程序。完整的例子,你可以在這裏找到http://razor.servicestack.net/

它還支持OAuth身份驗證和基於表單的身份驗證。儘管如此,還有幾個可用的。

爲什麼不使用WCF?有不止一個原因。 WCF很好,可以做很多大多數用例都不需要的東西。並且Servicestack適用於邏輯位於服務器上的這種類型的場景。它默認支持REST,SOAP 1,SOAP 2,JSON,JSV,XML等。它將爲您提供一個開始。還有一個Monotouch的Servicestack的例子,所以應用程序在iOS上運行。此外,服務棧還提供了許多其他的功能。請訪問網站,並讓我知道是否需要進一步的細節。