12

我一直在阅读有关使用各种其他问题,但是当项目分层开发时,我没有看到任何关于将它与现有数据库一起使用的具体内容。为了论证的缘故,说以下是正确的:

  • 解决方案
    • 网页界面
    • 服务
      • 用户服务
    • 数据
      • MyDbContext
      • 用户

如何指定User(来自Core项目)作为IUserStore新身份提供者的身份?我是否遗漏了什么,或者这一切都假设网站和会员数据库始终位于同一个项目中(或者Microsoft.AspNet.Identity.*在模型所在的任何地方都有对库的严格引用)?

在 WebUI 层设置 DbContext 仅用于身份验证(并将其与服务绑定到“MyDbContext”)似乎很麻烦。我是否遗漏了什么,或者团队只是计划将其仅用于简单的应用程序?

反馈将不胜感激。

更多信息

如果值得一提:

  • 这将是一个全新的解决方案;我没有旧的/现有的aspnet_*webpages_*表担心。我正在尝试采用其他各种自定义解决方案并将它们与一个可靠的解决方案联系起来,所以我对很多选择持开放态度。但是,我想按层分解(如果可能的话)。
4

1 回答 1

3

Asp.net Identity Framework 是一组帮助应用程序使用用户身份的组件。核心框架块正在Microsoft.AspNet.Identity.Core组装中。第二个Microsoft.AspNet.Identity.EntityFramework是Core框架的数据持久化实现。

现在对于 n 层应用程序,您可以AppUser在任何项目/程序集中定义您的模型。您需要从Microsoft.AspNet.Identity.EntityFramework.IdentityUser. 因此,根据您的方法,您需要引用特定的程序集。

MyDbContext 也是如此。您必须从当前唯一可用的 Persistence 继承Microsoft.AspNet.Identity.EntityFramework.IdentityDbContext<TUser>。您的 MyDbContext 可以在其他项目/程序集中。您还需要AppUser在此项目/程序集中引用您的程序集。

于 2013-11-08T17:17:19.497 回答