musol musol 29.08.2018, 08:58:07 1 Witam w jaki sposób mogę ustawić domyślnie role użytkownikowi w repozytorium korzystam z IdentityCore public async Task Register(User user, string password) { byte[] passwordHash, passwordSalt; CreatePasswordHash(password, out passwordHash, out passwordSalt); await _context.Users.AddAsync(user); await _context.SaveChangesAsync(); return user; }a tutaj serwis autoryzacji z Startupservices.AddAuthorization(options => { options.AddPolicy("RequireAdminRole", policy => policy.RequireRole("Admin")); options.AddPolicy("ModeratePhotoRole", policy => policy.RequireRole("Admin", "Moderator")); options.AddPolicy("VipOnly", policy => policy.RequireRole("VIP")); });#programowanie #naukaprogramowania #aspnet #csharp Cronox
Goglez Goglez 29.08.2018, 09:13:08 0 @musol: user.Role = role przed await AddAsync?Jak działa CreatePasswordHash();? Bo stąd wygląda to tak, że tworzysz hash i nic z nim nie robisz; przypisujesz go userowi?
musol musol 29.08.2018, 09:26:53 0 @Goglez: to już createpassword nie potrzebne jak a co ma odpowiadać za zmienną role?
musol musol 29.08.2018, 09:56:50 0 @Goglez: Kurcze pomyliłem się nie korzystam z tego repozytorium zapytam się może wiesz jak dodać role w kontrolerze wyglądającym o tak [AllowAnonymous] [Route("api/[controller]")] [ApiController] public class AuthController : ControllerBase { private readonly IConfiguration _config; private readonly IMapper _mapper; private readonly UserManager _userManager; private readonly SignInManager _signInManager; public AuthController(IConfiguration config, IMapper mapper, UserManager userManager, SignInManager signInManager) { _userManager = userManager; _signInManager = signInManager; _mapper = mapper; _config = config; } [HttpPost("register")] publicPokaż całość
Goglez Goglez 29.08.2018, 10:19:46 0 @musol: Ja bym role dodał na etapie tworzenia usera, jak tworzysz usera i nadajesz mu tam jakiś nick, mail, czy co tam masz to dodaj też role.
public async Task Register(User user, string password)
{
byte[] passwordHash, passwordSalt;
CreatePasswordHash(password, out passwordHash, out passwordSalt);
await _context.Users.AddAsync(user);
await _context.SaveChangesAsync();
return user;
}
a tutaj serwis autoryzacji z Startup
services.AddAuthorization(options =>
{
options.AddPolicy("RequireAdminRole", policy => policy.RequireRole("Admin"));
options.AddPolicy("ModeratePhotoRole", policy => policy.RequireRole("Admin", "Moderator"));
options.AddPolicy("VipOnly", policy => policy.RequireRole("VIP"));
});
#programowanie #naukaprogramowania #aspnet #csharp
user.Role = role
przed await AddAsync?Jak działa
CreatePasswordHash();
? Bo stąd wygląda to tak, że tworzysz hash i nic z nim nie robisz; przypisujesz go userowi?[AllowAnonymous]
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
private readonly IConfiguration _config;
private readonly IMapper _mapper;
private readonly UserManager _userManager;
private readonly SignInManager _signInManager;
public AuthController(IConfiguration config,
IMapper mapper,
UserManager userManager,
SignInManager signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
_mapper = mapper;
_config = config;
}
[HttpPost("register")]
public