/// <summary> /// Metoda koja prijavljuje korisnika u bazu podataka te vraća odgovarajuće podatke korisnika. /// Ukoliko korisnik prilikom registracije nije odabrao 2FA autentifikaciju vraćaju se njegovi podaci iz baze podataka. /// Ukoliko je korisnik prilikom registracije odabrao 2FA autentifikaciju vraća se Username,Password i obavijest o 2FA autentifikaciji u obliku korisničkoga JSON-a /// </summary> /// <param name="connection"></param> /// <returns></returns> public string PrijavaKorisnika(SqlConnection connection) { string rezultat = ""; var command = new SqlCommand(); command.Connection = connection; command.CommandType = CommandType.Text; command.CommandText = "SELECT Korisnik.*,TipoviKorisnika.Naziv FROM Korisnik,TipoviKorisnika WHERE Username=@Username AND Password=@Password AND TipKorisnika=Id"; command.Parameters.AddWithValue("@Password", Password); command.Parameters.AddWithValue("@Username", Username); using (SqlDataReader reader = command.ExecuteReader()) { if (!reader.HasRows) { Username = null; Password = null; } else if (reader.Read()) { if (Convert.ToInt32(reader["Status"]) == 0) { Username = null; Password = null; } else { Username = reader["Username"].ToString(); Ime = reader["Ime"].ToString(); Prezime = reader["Prezime"].ToString(); Email = reader["Email"].ToString(); BrojTelefona = reader["BrojTelefona"].ToString(); DatumRodjenja = reader["DatumRodjenja"].ToString(); Kljuc2FA = reader["Kljuc2FA"].ToString(); Status = Convert.ToInt32(reader["Status"]); TipKorisnika = reader["Naziv"].ToString(); } } } if (Kljuc2FA != "" && Kljuc2FA != "null") { Korisnik novi = new Korisnik(); Verficiranje2FA verificiraj = new Verficiranje2FA(); Kljuc2FA = verificiraj.GenerirajKljuc2FA(); UnesiUBazuKljuc2FA(connection); verificiraj.PosaljiPorukuNaMobilni(BrojTelefona); novi.Username = Username; novi.Password = Password; novi.Kljuc2FA = "DA"; rezultat = JsonPretvarac.Serijalizacija(novi); return(rezultat); } rezultat = JsonPretvarac.Serijalizacija(this); return(rezultat); }