在我的项目架构中何处引用Asp.net.Identity

时间:2018-02-22 12:10:04

标签: c# asp.net asp.net-identity owin

这是我第一次创建项目架构。我使用代码优先方法,我想使用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?

1 个答案:

答案 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 - 这是表示层。

对于这两个层,您需要实现与身份验证相关的内容,所以这里也需要它