在ASP.NET核心 Web API 中获取作为 List<string> 的角色列表可以通过以下步骤完成:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.0" />
</ItemGroup>
[ApiController]
[Route("api/[controller]")]
public class RoleController : ControllerBase
{
[HttpGet]
[Authorize(Roles = "admin")] // 只允许 "admin" 角色的用户访问
public IActionResult GetRoles()
{
// 这里可以获取角色列表的逻辑
List<string> roles = new List<string>{"role1", "role2", "role3"};
return Ok(roles);
}
}
[HttpGet]
[Authorize(Roles = "admin")]
public IActionResult GetRoles()
{
List<string> roles = new List<string>();
foreach (var claim in HttpContext.User.Claims)
{
if (claim.Type == ClaimTypes.Role)
{
roles.Add(claim.Value);
}
}
return Ok(roles);
}
这样,你就可以在 ASP.NET 核心 Web API 中获取作为 List<string> 的角色列表了。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云原生应用引擎(https://cloud.tencent.com/product/tke)。
领取专属 10元无门槛券
手把手带您无忧上云