• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed C# formularz logowania - niepoprawna nazwa użytkownika lub hasło.

Object Storage Arubacloud
0 głosów
323 wizyt
pytanie zadane 16 września 2019 w C# przez Igorogar Nowicjusz (120 p.)
zamknięte 18 września 2019 przez Igorogar

Cześć, w ramach nauki tworze formularz logowania, po utoworzeniu bazy danych(service based database) mam problem z zalogowaniem do konta. po naciśnięciu buttona dostaje komunikat, że dane użytkownika lub hasło są niepoprawne.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using System.Data;

namespace FormLog
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }


        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string con_str = Properties.Settings.Default.con_String;
            SqlConnection con = new SqlConnection(con_str);

            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                    string User = UsernameTxt.Text;
                    string Password = PasswordTxt.Text;
                    SqlCommand cmd = new SqlCommand("select User,Password from Tbl_Users where User='" + UsernameTxt.Text + "'and Password='" + PasswordTxt.Text + "'", con);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                    {
                        Window Calendary = new Window();
                        Calendary.Show();
                        Close();

                    }
                    else
                    {
                        MessageBox.Show("Incorrect login or password. Please, try again");
                    }

                }

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            finally
            {
                con.Close();
            }



            
        }
    }
}

 

komentarz zamknięcia: Problem rozwiązany
komentarz 16 września 2019 przez Velta Maniak (52,010 p.)
Brakuje przekształcenia hasła w szyfr, może to jest problemem? W bazie jest zaszyfrowane, a próbuje porównać z plaintextem.
komentarz 16 września 2019 przez adrian17 Ekspert (344,860 p.)
Nie tylko hasła gołe w bazie, ale też sprawa, że ogólnie tu jest podręcznikowy case na SQL injection...

1 odpowiedź

0 głosów
odpowiedź 16 września 2019 przez Dev Ox29A Dyskutant (8,400 p.)

Z tego co tu jest napisane ,trudno powiedzieć co jest źle.

Zaczni  od tego że wyselekcjonuj najpierw jedną zmienną np user i zobacz co zwraca , jeśli ok ,to drugą...

to jedno ,  drugie  ... twój kod wygląda ..fatalnie :-/ popraw ,a na pewno szybciej znajdziesz błąd.

np po co to masz  : 

 string User = UsernameTxt.Text;
 string Password = PasswordTxt.Text;

?

po drugie jak zrobiłeś baze danych ?

nchar czy nvarchar ?

Podobne pytania

0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 27 stycznia 2020 w C# przez Kamilos1906 Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 23 maja 2018 w C# przez mateuszpozn Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 183 wizyt
pytanie zadane 2 sierpnia 2016 w C# przez jankustosz1 Nałogowiec (35,880 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...