2017-04-01 92 views
0

我想實現:最佳架構

我目前對服務的頂級移動應用程序和想補充一個網站上的相同的服務。

服務細節:使用OAuth(承載令牌)和身份認證和授權

的ASP.NET Web API項目。

  • Microsoft.AspNet.WebApi 5.2.3
  • Microsoft.Owin.Security.OAuth 3.0.1
  • Microsoft.AspNet.Identity.Core 2.2.1

手機的詳細信息:

Xamarin項目。

  • Xamarin.Forms 2.3.3.193

我應該使用的網站是什麼架構?

  • 創建一個新的ASP.NET MVC項目,並從MVC控制器叫我目前的服務?這似乎是不好的,因爲:
    • 我早就控制器的2層(網站MVC控制器電話服務API控制器)
    • 我需要承載的令牌存儲在cookie中
    • 我需要管理令牌和餅乾過期
  • 創建一個新的ASP.NET MVC項目,並直接調用現有服務數據庫?這似乎是不好的,因爲:
    • 我會重複的模式在服務項目,並在網站項目
  • 創建一個新的ASP.NET項目,並使用AJAX調用我目前的服務?這似乎是不好的,因爲:
    • 我需要創建我自己的註冊/登錄頁面
    • 我需要承載的令牌存儲在cookie中
    • 我需要管理令牌和餅乾到期
    • 我需要說再見了未來社會認證(的oauth2)實現,因爲我不會使用OWIN

謝謝,

fcorbeil

+0

如果你已經有了API,一個全新的MVC應用程序不應該是這樣一個不好的選擇。如果您將模型存儲在不同的項目中,只需將它們引用到MVC中。至於這些服務,它們將與新應用程序完美協作。這一切都可以在不改變當前實施的情況下實現。 –

+0

嗨克里斯蒂安,你絕對正確!分享模型是完美的,謝謝! –

回答

0

如果你已經有了API,一個全新的MVC應用程序不應該是這樣一個不好的選擇。如果您將模型存儲在不同的項目中,只需將它們引用到MVC中。至於這些服務,它們將與新應用程序完美協作。這一切都可以在不改變當前實施的情況下實現。

0

我正在研究項目並使用類似的體系結構。

我決定爲網站前端創建一個Angular項目,它所做的只是與Web API交談。 Angular處理JWT認證非常好。如果你以前從未使用過Angular,那麼使用它真的很不錯。

然而,一個香草ASP.NET MVC的Web應用程序也會工作。

這取決於你對Angular的使用感覺如何,或者你是多麼願意學習它! :)