public ActionResult LogIn(Users usr)//metoda de logare. se va baza pe functia ComputeSHA1(parola) si o functie de comparare pt hash { if (ModelState.IsValid) { var dateLoagare = pl.Utilizatoris //selectare date de logare din baza de date .Where(u => u.Nume_Utilizator == usr.Nume_utilizator) .Select(u => new { u.Nume_Utilizator, u.Parola }); try { string usrName = dateLoagare.FirstOrDefault().Nume_Utilizator;//extragere numele utilizator si parola corecte string password = dateLoagare.FirstOrDefault().Parola; string hashedPasswordFromUser = HashPassword.ComputeSHA1(usr.Parola); bool pass = CompareHashes.ComparePasswords(password, hashedPasswordFromUser); if (pass == true && usr.Nume_utilizator == usrName) //verificam ca ceea ce a introdus user-ul este corect { FormsAuthentication.SetAuthCookie(usr.Nume_utilizator, false); //cookie return(RedirectToAction("Index", "Profile")); //il ducem catre o alta actiune din alt controller } else { ModelState.AddModelError("", "Date de logare incorecte !\nIncercati din nou !"); } } catch (Exception ex) { ViewBag.loginError = ex.Message + "Numele de utilizator nu exista" + ex.StackTrace; } } return(LOGIN()); }
public ActionResult AddUsers(Users usr)//adaugam utilizatori { if (ModelState.IsValid) { string CallSP = "AddUsers @Nume_Utilizator, @Email, @Parola"; SqlParameter NumeUtilizator = new SqlParameter("Nume_utilizator", usr.Nume_utilizator); SqlParameter Email = new SqlParameter("Email", usr.Email); SqlParameter Parola = new SqlParameter("Parola", HashPassword.ComputeSHA1(usr.Parola)); //SqlParameter Id_Functie = new SqlParameter("Id_Functie", usr.Id_Functie); object[] parameters = new object[] { NumeUtilizator, Email, Parola }; var result = pl.Database.SqlQuery <Users>(CallSP, parameters); return(Json(result, JsonRequestBehavior.AllowGet)); } return(RedirectToAction("Index", "Users")); }