Что меня расстраивает, так это то, что никто из них не описывает, как добавлять пользователей в определенные группы ролей.
Этот вопрос не имеет ничего общего с Blazor.
Воткак вы можете добавить регистрируемого пользователя к роли:
[Route("api/[controller]")]
[ApiController]
public class AccountsController : ControllerBase
{
private static UserModel LoggedOutUser = new UserModel { IsAuthenticated = false };
private readonly UserManager<IdentityUser> _userManager;
public AccountsController(UserManager<IdentityUser> userManager)
{
_userManager = userManager;
}
[HttpPost]
public async Task<IActionResult> Post([FromBody]RegisterModel model)
{
var newUser = new IdentityUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(newUser, model.Password);
if (!result.Succeeded)
{
var errors = result.Errors.Select(x => x.Description);
return BadRequest(new RegisterResult { Successful = false, Errors = errors });
}
// Add all new users to the User role
await _userManager.AddToRoleAsync(newUser, "User");
// Add new users whose email starts with 'admin' to the Admin role
if (newUser.Email.StartsWith("admin"))
{
await _userManager.AddToRoleAsync(newUser, "Admin");
}
return Ok(new RegisterResult { Successful = true });
}
}
}
См. источник и многое другое здесь
Если я хотел сказать, аутентифицируйте всех подконкретный домен .. скажем все логины гугл с адресом @ example.ca
Опять же, этот вопрос не имеет никакого отношения к Blazor. Это кандидат для использования аутентификации на основе политик с требованием, которое вы упомянули выше. Посмотрите документы, как это осуществить, и не стесняйтесь обращаться за помощью, если это необходимо.
Надеюсь, это поможет ...