我現在有一個分層架構,如下服務層:將現有使用ASP.NET的WebAPI
- 服務層 - 這是該域的主要交互點。 包含所有業務規則,驗證等。
- 數據/存儲庫層 - 這是處理所有數據持久性的層。不包含業務邏輯或驗證。基本上囊括了
Repository<T>
,UnitOfWork
(EF具體)和所有的EF之類的東西DbContext
,EntityTypeConfiguration
的等 - 實體框架
- SQL服務器
我使用的是貧血域模型,所以基本POCO的代表問題領域。
我有幾個關於通過ASP.NET WebApi
公開的問題。
- 保安住在哪裏?基本上,用戶有權訪問編輯記錄或記錄類型。用戶是否可以執行特定的操作等。以及諸如身份驗證/基於角色的授權等。
- 我應該使用WebApi作爲實際服務層,還是使用它以RESTful方式通過HTTP公開現有服務層?
- 給出一個基本的例子,說改變一個類別的名稱,我在哪裏強制當前用戶有權更改所述記錄?我是否依靠
Thread.CurrentPrincipal
獲取Identity
來檢查給定的角色,並將其設置在WebApi中? Mvc應用程序?
有沒有什麼好的例子可以說明我正在談論的這種情況?
順便說一句 - 我使用ASP.NET MVC 5來提供應用程序的外殼(SPA),然後前端將成爲所有的AngularJS。
請注意,如果您打算使用Angularjs和WebApi,則不需要ASP.NET MVC5 – Dalorzo
@Dororzo - 我們使用ASP.NET MVC來提供應用程序的外殼,並提供模板控制器。 。還使用Cassette捆綁/縮小。 – Sam