我现在有一个分层架构,如下服务层:将现有使用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