public async Task <bool> NyAdmin(BrukerModel bruker) { try { byte[] salt = LagSalt(); byte[] passordHash = LagHash(bruker.Passord, salt); Brukere nyAdmin = new Brukere { Brukernavn = bruker.Brukernavn, Passord = passordHash, Salt = salt, Tilgang = "Admin" }; _db.Brukere.Add(nyAdmin); await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }
// Hjelpemetode som returnerer et BrukerModel-objekt private BrukerModel HentEnBrukerModel() { BrukerModel bruker = new BrukerModel { Brukernavn = "Admin", Passord = "Admin123" }; return(bruker); }
public async Task LoggInn_RegEx() { // Arrange BrukerModel bruker = HentEnBrukerModel(); mockRepo.Setup(br => br.LoggInn(bruker)).ReturnsAsync(false); brukereController.ModelState.AddModelError("Brukernavn", "Feil i inputvalideringen på server"); brukereController.ModelState.AddModelError("Passord", "Feil i inputvalideringen på server"); // Act var resultat = await brukereController.LoggInn(bruker) as BadRequestObjectResult; // Assert Assert.Equal("Feil i inputvalideringen på server", resultat.Value); }
public async Task <ActionResult> LoggInn(BrukerModel bruker) { if (ModelState.IsValid) { bool returOk = await _db.LoggInn(bruker); if (!returOk) { HttpContext.Session.SetString(_innlogget, ""); melding = $"Innlogging feilet for bruker: {bruker.Brukernavn}"; _log.LogWarning(melding); return(BadRequest(melding)); } HttpContext.Session.SetString(_innlogget, "Innlogget"); return(Ok(true)); } _log.LogWarning(ugyldigValidering); return(BadRequest(ugyldigValidering)); }
public async Task <ActionResult> NyAdmin(BrukerModel bruker) { if (string.IsNullOrEmpty(HttpContext.Session.GetString(_innlogget))) { return(Unauthorized("Ikke innlogget")); } if (ModelState.IsValid) { bool returOk = await _db.NyAdmin(bruker); if (!returOk) { melding = $"Ny bruker kunne ikke lagres med brukernavn: {bruker.Brukernavn}"; _log.LogWarning(melding); return(BadRequest(melding)); } melding = $"Ny bruker ble lagret med brukernavn: {bruker.Brukernavn}"; _log.LogInformation(melding); return(Ok(melding)); } _log.LogWarning(ugyldigValidering); return(BadRequest(ugyldigValidering)); }
public async Task <bool> LoggInn(BrukerModel bruker) { try { // Henter brukeren som matcher input-brukernavnet Brukere funnetBruker = await _db.Brukere .FirstOrDefaultAsync(b => b.Brukernavn == bruker.Brukernavn); // Sjekker om input-passord + salt matcher passordet + salt i DB byte[] hash = LagHash(bruker.Passord, funnetBruker.Salt); bool ok = hash.SequenceEqual(funnetBruker.Passord); if (ok) { return(true); } return(false); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }