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")
            });
        }
Example #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <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);
            }
        }