public async Task <IActionResult> Register(RegisterViewModel model)
        {
            var salt  = HashingPasswords.GenerateSalt();
            var pw    = HashingPasswords.GenerateHashArgon2(model.Lozinka, salt);
            var uloga = nameof(TipKorisnikaEnum.Korisnik);

            var korisnik = new Models.Korisnik()
            {
                PasswordHash  = pw,
                PasswordSalt  = salt,
                Uloga         = uloga,
                KorisnickoIme = model.KorisnickoIme,
                Ime           = model.Ime,
                Prezime       = model.Prezime,
                Banovan       = false
            };

            _korisnikRepo.Add(korisnik);
            _korisnikRepo.SaveChanges();

            var identity = CreateNewIdentity(model.KorisnickoIme, uloga, korisnik.KorisnikId.ToString());

            var principal = new ClaimsPrincipal(identity);
            await Authentication.Login(HttpContext, principal);

            return(RedirectToAction("Index", "Home"));
        }
Beispiel #2
0
        public IActionResult Ban(int id)
        {
            var korisnik = _korisnikRepo.Get(id);

            if (korisnik == null)
            {
                return(NotFound());
            }

            korisnik.Banovan = !korisnik.Banovan;
            _korisnikRepo.Update(korisnik);
            _korisnikRepo.SaveChanges();

            var banovanTekst = korisnik.Banovan ? "banovan" : "unbanovan";

            TempData["poruka"] = $"Korisnik uspješno {banovanTekst}.";

            return(RedirectToAction("Index"));
        }