ASP.NETCore中的Identity与UnitOfWork的集成问题。
创始人
2024-09-18 14:00:23
0

在ASP.NET Core应用程序中,使用UnitOfWork(工作单元)模式来管理数据持久性通常是一个常见的模式。如果一个应用程序需要使用Identity来实现用户身份验证和授权,那么将Identity与UnitOfWork集成可能会出现一些问题。以下是一些可能的解决方案。

  1. 集成Identity和UnitOfWork

下面的代码片段展示了如何在ASP.NET Core应用中集成Identity和UnitOfWork。

首先,创建一个包含IdentityUser和ApplicationDbContext的IdentityContext类。该DbContext就是用于管理Identity所需的数据持久性。

public class IdentityContext : IdentityDbContext
{
    public IdentityContext(DbContextOptions options) : base(options)
    {
    }
}

接下来,实现IUnitOfWork接口来管理其他DbContext:

public interface IUnitOfWork
{
    void SaveChanges();
}

public class UnitOfWork : IUnitOfWork
{
    private readonly DbContext _dbContext;

    public UnitOfWork(DbContext dbContext)
    {
        _dbContext = dbContext;
    }

    public void SaveChanges()
    {
        _dbContext.SaveChanges();
    }
}

为了将UnitOfWork注入到Identity中,需要注册一个UserService:

services.AddScoped();

services.AddScoped(s => new UnitOfWork(s.GetService()));

最后,实现IUserService接口:

public interface IUserService
{
    void CreateUser(IdentityUser user);
}

public class UserService : IUserService
{
    private readonly IdentityContext _context;
    private readonly IUnitOfWork _unitOfWork;

    public UserService(IdentityContext context, IUnitOfWork unitOfWork)
    {
        _context = context;
        _unitOfWork = unitOfWork;
    }

    public void CreateUser(IdentityUser user)
    {
        _context.Users.Add(user);

        _unitOfWork.SaveChanges();
    }
}

现在,我们有了一个完整集成了Identity和UnitOfWork的项目,可以安全地使用它来进行用户身份验证和授权。

  1. 使用IdentityDbContext作为UnitOfWork

另一个解决方案是将

相关内容

热门资讯

教会辅助!胡乐胡乐辅助脚本可靠... 胡乐胡乐辅助脚本可靠吗开挂教程视频分享装挂详细步骤在当今的网络游戏中,胡乐胡乐辅助脚本可靠吗作为一种...
分享辅助!方片十三张辅助器软件... 方片十三张辅助器软件开挂教程视频分享装挂详细步骤在当今的网络游戏中,方片十三张辅助器软件作为一种经典...
发现辅助!悠闲卡五星辅助,小程... 发现辅助!悠闲卡五星辅助,小程序牵手跑的辅助,透视有挂开挂(有挂技术);无需打开直接搜索加薇1367...
科技辅助!创思维辅助软件,微乐... 科技辅助!创思维辅助软件,微乐四川辅助,2024教程开挂(证实有挂);1、让任何用户在无需AI插件第...
传授辅助!大当家脚本app,传... 【亲,传送屋有没有挂 这款游戏可以开挂的,确实是有挂的,很多玩家在这款传送屋有没有挂中打牌都会发现很...
盘点辅助!情怀国粹开挂,衢州都... 衢州都莱辅助器是真的假的是一款专注玩家量身打造的游戏记牌类型软件,在衢州都莱辅助器是真的假的这款游戏...
发现辅助!wepoker辅助脚... 发现辅助!wepoker辅助脚本,黑桃a3辅助,透视最新开挂(确实有挂);亲,wepoker辅助脚本...
分享辅助!途游手游辅助,凑一桌... 凑一桌游戏辅助2023是一款专注玩家量身打造的游戏记牌类型软件,在凑一桌游戏辅助2023这款游戏中我...
盘点辅助!潮汕来物局开挂方法,... 盘点辅助!潮汕来物局开挂方法,呱呱丰城双剑辅助,专业讨论开挂(有挂细节)【无需打开直接搜索加薇136...
原来有辅助!苹果广东雀神破解器... 原来有辅助!苹果广东雀神破解器,长春科乐辅助,玩家必看开挂(有挂方针);无需打开直接搜索打开薇:13...