在具有相同上下文的同一数据库中使用 ASP.NET 标识两次



我有一个包含三个项目的Visual Studio解决方案。一个是DAL(数据访问层)女巫正在使用带有一个ApplicationDbContext的实体框架核心。 我已经在另一个(第二个项目)中引用了它,女巫是一个后端面板,用户将使用活动目录进行身份验证,用户和角色将在 ASP.NET Identity的帮助下进行管理。

我创建了另一个 ASP.NET 核心项目(网站 - 第三个项目),用于分离面板和网站。这里也是引用的 DAL 项目。 我想将网站的用户存储在与后端面板的项目相同的数据库中,但我想为后端用户和网站用户提供单独的表。

在网站项目中,我创建了另一个应用程序数据库上下文,OnModelCreating中,我用与AspNet不同的前缀覆盖了标识表的默认名称。 两个ApplicationDbContext的数据库连接字符串相同。我已经完成了Add-Migration Inital,然后更新了数据库Update-Database.我在同一个数据库中获得了带有新前缀的新表,这些表带有前缀AspNet
目前为止,一切都好。

我面临的问题是,使用两个不同的上下文查询数据库并不简单。

所以我的问题是:是否可以在具有相同上下文的同一数据库中两次用户 ASP.NET Identity?

我愿意接受其他解决方案来实现我需要的。

No.在同一上下文中不可能有两个单独的标识表和类实例。使用单独的上下文执行此操作的方式是最好的方法。如果要简化访问,我建议创建一个或多个注入了两个上下文的服务样式类。然后,您可以简单地将服务类注入到应用程序中,并通过它只处理一件事。当然,您需要根据需要编写与两个上下文交互的方法,但这项工作您只需执行一次,然后您就可以从那里获得收益。

相关内容

  • 没有找到相关文章

最新更新