具有Identity和EF的3层应用程序

时间:2015-04-04 00:30:27

标签: c# entity-framework asp.net-web-api asp.net-identity-2 3-tier

我正在开发一个从头开始进行身份验证的3层项目。我使用以下内容作为实施身份验证的指南:http://bitoftech.net/2015/01/21/asp-net-identity-2-with-asp-net-web-api-2-accounts-management/

问题是我需要安装以下NuGet包:

Install-Package Microsoft.AspNet.Identity.Owin -Version 2.1.0
Install-Package Microsoft.AspNet.Identity.EntityFramework -Version 2.1.0
Install-Package Microsoft.Owin.Host.SystemWeb -Version 3.0.0
Install-Package Microsoft.AspNet.WebApi.Owin -Version 5.2.2
Install-Package Microsoft.Owin.Security.OAuth -Version 3.0.0
Install-Package Microsoft.Owin.Cors -Version 3.0.0

我直观地将 Microsoft.AspNet.Identity.Owin 安装到我的Presentation Layer中,现在又陷入困境, Microsoft.AspNet.Identity.EntityFramework 它在哪里?我已经在数据访问层中安装了EF6,有没有办法在表示层中为 Microsoft.AspNet.Identity.EntityFramework 提供这种依赖?

2 个答案:

答案 0 :(得分:5)

它应该进入你的网络项目。

Microsoft.AspNet.Identity.EntityFramework是一个namespace,它提供了一些类,可以轻松地将身份项目连接到Entity Framework。它实际上并没有为EF本身提供任何东西。

如果您选择使用其他ORM,或者您想完全自定义asp.net身份(例如make your own UserStore),那么您甚至不会在项目中包含该包。

答案 1 :(得分:0)

Owin本身与演示无关。它是“身份验证中间件”。您可能希望将所有这些软件包安装到“逻辑层”项目中,即WebAPI。

我建议你仔细阅读previous version of the aforementioned guide的前两部分。