我正在尝试使用 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)
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |