2015-10-15 15 views
1

我有一個.NET MVC的網絡應用程序,我將暴露少數應該只被某些授權的內部應用程序命中的端點。我想通過某種形式的相互身份驗證來實現這一點,以便Web服務可以驗證呼叫者的身份。如何爲Web服務中的某些端點執行相互身份驗證?

我已經看到了這個

許多解決方案似乎依賴於IIS級別的配置,因此似乎在全球範圍適用於Web服務,而不僅僅是特定端點。

爲了讓事情變得更加複雜,在我們的系統中的所有內部請求首先通過路由/負載均衡的ARR反向代理。因爲ARR提供路由,我更願意把一切都通過HTTP來避免比ARR其他需要一個單獨的路由機制來定位機

如何我可以配置一些形式的相互認證的這種情況?

+0

你看着做這樣的事情RSA密鑰,並給予私有主機端點和公衆進行訪問的應用程序? – Richard

+0

如果你不使用HTTPS這將是非常簡單的中間人攻擊 – Liam

+0

@Liam我們確實使用了HTTPS加密所有流量通過一個簡單的人欺騙了認證,但目前還沒有客戶端驗證。我的理解是,ARR會使這變得複雜。 – ChaseMedallion

回答

1

如果調用者也是同一個Windows域中的Windows .NET應用程序,我會通過WCF公開端點而不是MVC應用程序。

然後配置WCF端點使用Windows身份驗證,並使用基於角色的授權WCF`s支持。 (基於簡單情況的屬性) 有關於如何實現here的文檔。

相關問題