public HttpResponseMessage Post([FromBody] Post_Login_VM input) { if (ModelState.IsValid) { Get_Login_VM response = repository.AutoriserOgReturnerBruker(input.brukernavn, input.passord); if (response != null) { if (response.godkjent) { return(Request.CreateResponse(HttpStatusCode.Accepted, response)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, response)); } } return(new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent("Autorisering returnerte null") }); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Autoriser og returner bruker. </summary> /// /// <remarks> Mojola, 19/05/2017. </remarks> /// /// <param name="brukernavn"> The brukernavn. </param> /// <param name="passord"> The passord. </param> /// /// <returns> A Get_Login_VM. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public Get_Login_VM AutoriserOgReturnerBruker(string brukernavn, string passord) { //string relativePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Repository\log.txt"); //db.Database.Log = message => File.AppendText(relativePath).WriteLine(message); //var logFile = new StreamWriter(relativePath); //db.Database.Log = logFile.Write; try { using (var db = new DbNetcont()) { // Finner første machende rad til brukernavn Person dbData = db.Personer.FirstOrDefault(b => b.email == brukernavn); var response = new Get_Login_VM(); if (dbData == null) { response.godkjent = false; return(response); } // Sjekker om passord#hash macher brukeren byte[] passordForTest = lagHash(passord + dbData.Salt); bool riktigBruker = dbData.password.SequenceEqual(passordForTest); if (!riktigBruker) { response.godkjent = false; return(response); } response.godkjent = true; response.brukernavn = dbData.email; response.id = dbData.persId; response.rolle = dbData.GetType().BaseType.Name.ToLower(); //logFile.Close(); return(response); } } catch (Exception feil) { Debug.WriteLine("Exception Message: " + feil.Message); return(null); } }