chevron-left chevron-right

[C#.NET][SQL] Formularz logowania w C#.NET

W dzisiejszym artykule przedstawię sposób na prosty formularz logowania w języku C#.NET i SQL. Język C#.NET został stworzony przez Microsoft i jest jedną z alternatyw dla PHP. Daje on naprawdę duże możliwości, a dorzucając do tego technologię SilverLight, to można stworzyć naprawdę efektowne strony, które tez będą efektywne w obsłudze.

Kod C# do obsługi formularza logowania wygląda następująco:

private bool Porownaj(string string1, string string2)  
{  
	return String.Compare(string1, string2, true, System.Globalization.CultureInfo.InvariantCulture) == 0 ? true : false;  
}  

private void button1_Click(object sender, System.EventArgs e)  
{  
	try 
	{  
		SqlConnection UGIcon = new SqlConnection();  
		UGIcon.ConnectionString = "Server=.SQLEXPRESS; Database=Sample; User Id=user; password=haslo";  
		UGIcon.Open();  
	 
		SqlCommand cmd = new SqlCommand("SELECT ISNULL(stUsername, '') AS stUsername, ISNULL(stPassword,'') AS stPassword, ISNULL(stRole,'') AS stRole FROM LoginDetails WHERE stUsername='" + textBoxUsername.Text + "' and stPassword='" + textBoxPassword.Text + "'", UGIcon);  
	 
		SqlDataReader dr = cmd.ExecuteReader();  

		string userText = textBoxUsername.Text;  
		string passText = textBoxPassword.Text;  
		string stRole = "admin";  

		while (dr.Read())  
		{  
			if (this.Porownaj(dr["stUsername"].ToString(), userText) && this.Porownaj(dr["stPassword"].ToString(), passText) && this.Porownaj(dr["stRole"].ToString(), stRole))  
			{  
				MessageBox.Show("OK");  
			}  
			else 
			{  
				MessageBox.Show("Błąd");  
			}  
	 
		}  
		dr.Close();  
		UGIcon.Close();  
	 
	}  
	catch(Exception ex)  
	{  
		MessageBox.Show(ex.Message);  
	}  
}
To jest kod mechanizmu obsługującego stronę z formatkami logowania, gdzie przycisk wysyłania jest nazwany standardowo jako button1, pole gdzie należy wpisać nazwę użytkownika jako textBoxUsername, a pole do wpisania hasła jako textBoxPassword. Należy pamiętać, by ustanowić połączenie z bazą danych zastępując: Database=Sample; User Id=user; password=haslo - swoimi danymi do bazy.

Niestety nie posiadam serwera z obsługą ASP.NET i SQL, więc obejdzie się bez dema. Ten przykład można sprawdzić u siebie w domu na wirtualnym serwerze.