it's my code. but not work
[Authorize(Roles = nameof(SD.ROLE_ADMIN))]
[HttpPost]
public async Task<IActionResult> DeleteUserAsync([FromBody] ManagementUserRequestDTO requestDTO)
{
var responseDTO = await _accountRepository.DeleteUser(requestDTO);
if (responseDTO.IsSucceeded)
return Ok(responseDTO);
return BadRequest(responseDTO);
}
if change [Authorize(Roles = nameof(SD.ROLE_ADMIN))] to [Authorize(Roles = "admin")] it work correctly
SD.ROLE_Admin -----> public static string ROLE_ADMIN {get; set;} = "admin" at static class
how to fix it? thank you.
nameof(SD.ROLE_ADMIN)
equals "ROLE_ADMIN" and your Role's name is "admin", it should be enough if you change to [Authorize(Roles = SD.ROLE_ADMIN)]
And you need to change public static string ROLE_ADMIN {get; set;} = "admin"
to public const string ROLE_ADMIN = "admin"
. It needs to be a constant expression.