如何在 abp 框架中播种 AppUser

Rya*_*ton 7 abp

我正在尝试使用 abp.framework(版本 3)为实体框架数据库播种和 AppUser。我知道如何使用 IdentityUserManager 播种 IdentityUser,但找不到任何有关如何播种扩展 abpUser (如 appUser)的实体的文档。我在播种时设置密码(用于演示数据目的)。

小智 7

我可以使用以下命令在种子上添加用户。

此代码添加 2 个管理员用户和 1 个无角色的用户。将此类添加到单独文件中的域项目中,当您运行 DbMigrator 项目时,将创建用户。请注意,这是我所做的简化版本,我已将其缩减以回答问题,我还没有在实际项目中尝试过它,但您需要的一切都在那里。

using System;
using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Identity;

namespace Your.Project
{
    class AddUsersDataSeederContributor
        : IDataSeedContributor, ITransientDependency
    {
        private readonly IdentityUserManager _identityUserManager;

        public AddUsersDataSeederContributor(IdentityUserManager identityUserManager)
        {
            _identityUserManager = identityUserManager;
        }

        public async Task SeedAsync(DataSeedContext context)
        {
            // Add users
            IdentityUser identityUser1 = new IdentityUser(Guid.NewGuid(), "test_user1", "testuser1@email.com");
            await _identityUserManager.CreateAsync(identityUser1, "1q2w3E*");
            await _identityUserManager.AddToRoleAsync(identityUser1, "Admin");

            IdentityUser identityUser2 = new IdentityUser(Guid.NewGuid(), "test_user2", "testuser2@email.com");
            await _identityUserManager.CreateAsync(identityUser2, "1q2w3E*");
            await _identityUserManager.AddToRoleAsync(identityUser2, "Admin");

            IdentityUser identityUser3 = new IdentityUser(Guid.NewGuid(), "test_user3", "testuser3@email.com");
            await _identityUserManager.CreateAsync(identityUser3, "1q2w3E*");
            //await _identityUserManager.AddToRoleAsync(identityUser3, "Admin");  // Intentionally not making this user and admin
        }
    }
}
Run Code Online (Sandbox Code Playgroud)