0

我正在構建一個使用前端MVC 5/Web API應用程序(基本上是單頁應用程序)託管的AngularJS的在線應用程序。不過,我有一個嚴格的限制:應用程序的數據將保存在專用網絡中。我必須在專用網絡內構建第二個Web API應用程序來公開Web應用程序的功能。此外,用戶認證需要在專用網絡API內發生(因此專用網絡API將充當認證提供者),因爲這是用戶表存在的地方。如何實現跨MVC 5應用程序和分離Web API應用程序的身份驗證

DMZ中的應用程序基本上將用作專用網絡中Web API的代理。因此,UI API中的ApiController中收到的每個請求都將調用專用網絡API,理想情況下會在初始請求中接收收到的令牌。

從認證的角度看,這是我需要的:

  • 用戶導航到該網站,只能看到某些頁面(我想使用MVC過濾器在視圖控制器來控制訪問)。
  • 他們將使用用戶名和密碼登錄一次。
  • 登錄後,用戶可以導航到應用程序頁面,因此頁面將調用DMZ API中的數據。
  • 此DMZ的API控制器將調用專用網絡API。
  • 這兩個API都能夠根據用戶的憑據識別和應用其控制器方法的授權。

如果我沒有需要API,我只想使用MVC,單用戶驗證的實施,這爲雙方提供餅乾(UI)和令牌(API)認證支持的第二層。

任何幫助提供洞察我如何能做到與上述情況類似的事情將不勝感激。 (我想我的要求有點像用於UI Web應用程序的Windows模擬)。

請參見下面的靜態架構的高級視圖:

enter image description here

回答

0

你可能想看看Azure service bus relays,其目的是爲了橋接企業防火牆和調用預置的API。

您的WebAPI服務將根據服務總線進行身份驗證,以允許通過它調用您的服務。您可以在請求中使用不記名令牌傳遞用戶憑證。

我不確定,但您可能需要將您的後端服務實現更改爲使用WCF。您可以在this link中找到關於在Microsoft Dynamics中使用繼電器的解釋。

相關問題