我如何在 ASP.NET Core Webapi 中添加身份角色

How can i add a Identity Role in a ASP.NET Core Webapi

我想添加角色并在我的 ASP.NET 核心 Webapi 中使用这个角色。有人可以给我一个示例代码吗?角色的名称是 Admin.

使用UserManger获取。

就像UserManger<ApplicationUser>,其中ApplicationUser class 会像这样。

public class ApplicationUser : IdentityUser
{
    [Required]
    public override string UserName { get; set; }
    [Required]
    public override string Email { get; set; }
    [Required]
    public override string PhoneNumber { get; set; }
    public string Address { get; set; }
    [Required]
    public bool IsActive { get;set; }
    [Required]
    public DateTime PwdExpiryDt { get; set; }
    [Required]
    public bool PwdExpiryFlg { get; set; }
    [Required]
    public DateTime LastPwdChgDt { get; set; }
    [Required]
    public DateTime CreatedDt { get; set; }
    [Required]
    public DateTime ModifiedDt { get; set; }
    [Required]
    public string CreatedBy { get; set; }
    [Required]
    public string ModifiedBy { get; set; }
}

像这样使用_userManager

private readonly UserManager<ApplicationUser> _userManager;

像这样给用户添加角色

IdentityResult identityResult = await _userManager.AddToRoleAsync(user, applicationRole.Name);

对于您的情况,您也可以使用 RoleManger

private readonly RoleManager<ApplicationRole> _roleManager;

var role = _roleManager.Roles.Single(r => r.Name == existingRole)

角色class会是这样的

public class ApplicationRole : IdentityRole
{
    public string Description { get; set; }
    public DateTime CreatedDate { get; set; }
    public string CreatedBy { get; set; }
    public string IPAddress { get; set; }
}