这是我第一次创建项目架构。我使用代码优先方法,我想使用Identity进行身份验证和授权。
我创建了以下图层:
1- Project.Data - Application Context reside here.
2- Project.DTO - All ViewModels reside here.
3- Project.Entity - All Entities reside here.
4- Poject.Service - All interface and implementation reside here.
5- Project.API - Web API 2.0 reside here.
6- Project.UI - This is the Presentation Layer.
所以,我的问题是:
- Do I need to reference ASP.Net Identity to each layer?
- If Yes Why?
- If No Which Layer is suitable to reference Identity?
答案 0 :(得分:1)
3- Project.Entity - 所有实体都在此处.-
需要添加,因为您需要在此处实现身份接口以创建asp.net身份实体
1- Project.Data - 应用程序上下文驻留在此处。
Asp.net参考不适用于此处,仅适用于Project.Entity,您只能访问已实现的asp.net标识类型
2- Project.DTO - 所有ViewModel都驻留在这里。
这里有一个预测类型的实体和重构类型,因此asp.net身份不适用于此
4- Poject.Service - 所有接口和实现都驻留在这里。
在这里,您需要实现业务逻辑,因此您需要asp.net身份参考
5- Project.API - Web API 2.0位于此处。 6- Project.UI - 这是表示层。
对于这两个层,您需要实现与身份验证相关的内容,所以这里也需要它