ASP.NETCore6MVC:列出所有具有特定角色的ApplicationUser
创始人
2024-09-17 14:00:46
0
  1. 首先,在Startup.cs文件中添加使用身份验证的服务:
services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
    options.SaveToken = true;
    options.RequireHttpsMetadata = false;
    options.TokenValidationParameters = new TokenValidationParameters
    {
        ValidIssuer = Configuration["Jwt:Issuer"],
        ValidAudience = Configuration["Jwt:Issuer"],
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"])),
        ClockSkew = TimeSpan.Zero
    };
});
  1. 在控制器中注入UserManager和RoleManager服务:
private readonly UserManager _userManager;
private readonly RoleManager _roleManager;

public UsersController(UserManager userManager, RoleManager roleManager)
{
    _userManager = userManager;
    _roleManager = roleManager;
}
  1. 在方法中获取所有用户,然后使用UserManager的IsInRole方法来检查用户是否具有特定角色:
[HttpGet("GetUsersWithRole/{roleName}")]
public async Task GetUsersWithRole(string roleName)
{
    var users = await _userManager.Users.ToListAsync();
    var userRoles = new List();

    foreach (var user in users)
    {
        if (await _userManager.IsInRoleAsync(user, roleName))
        {
            userRoles.Add(new { UserName = user.UserName, RoleName = roleName });
        }
    }

    return Ok(userRoles);
}

  1. 最后,使用Postman或浏览器向API发送请求,并在末尾添加角色名称以获取相应的用户。例如,发送GET请求到/api/Users/GetUsersWithRole/Administrator将返回所有具有“Administrator”角色的用户。

相关内容

热门资讯

八分钟了解!心悦填大坑技巧分析... 八分钟了解!心悦填大坑技巧分析器!其实真的有辅助插件(有挂方式)-哔哩哔哩1、实时心悦填大坑技巧分析...
第一分钟了解!中至上饶麻将有挂... 第一分钟了解!中至上饶麻将有挂开挂!其实有辅助插件(真的有挂)-哔哩哔哩运中至上饶麻将有挂开挂辅助工...
第二分钟了解!微信神兽大厅源代... 第二分钟了解!微信神兽大厅源代码!总是一直都是有辅助脚本(有挂头条)-哔哩哔哩1、不需要AI权限,帮...
八分钟了解!wepkerplu... 八分钟了解!wepkerplus辅助作弊!确实存在有辅助app(有挂规律)-哔哩哔哩该软件可以轻松地...
第4分钟了解!小程序66徐州辅... 第4分钟了解!小程序66徐州辅助!一贯是有辅助软件(有挂教程)-哔哩哔哩1、操作简单,无需小程序66...
第2分钟了解!闲娱江西打盾插件... 第2分钟了解!闲娱江西打盾插件!一直真的是有辅助神器(有挂教程)-哔哩哔哩该软件可以轻松地帮助玩家将...
第3分钟了解!禅游科技辅助!竟... 第3分钟了解!禅游科技辅助!竟然真的有辅助攻略(有挂详细)-哔哩哔哩1、该软件可以轻松地帮助玩家将禅...
第九分钟了解!越乡游义乌微信小... 第九分钟了解!越乡游义乌微信小程序辅助!都是有辅助方法(有挂实锤)-哔哩哔哩1、上手简单,内置详细流...
第4分钟了解!宝宝斗场辅助器!... 第4分钟了解!宝宝斗场辅助器!原来真的有辅助方法(揭秘有挂)-哔哩哔哩1、首先打开宝宝斗场辅助器辅助...
第6分钟了解!广西八一字牌可以... 第6分钟了解!广西八一字牌可以破解吗!总是一直都是有辅助攻略(确实有挂)-哔哩哔哩1、广西八一字牌可...