Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        // Hjelpemetode som returnerer et BrukerModel-objekt
        private BrukerModel HentEnBrukerModel()
        {
            BrukerModel bruker = new BrukerModel {
                Brukernavn = "Admin", Passord = "Admin123"
            };

            return(bruker);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
            }
        }