我剛剛開始在ASP.NET中編程,我目前正在製作一個簡單的登錄頁面。我已經有一個用戶和他們的密碼數據庫,所以我想要做的是當用戶輸入用戶名和密碼我希望程序檢查數據庫中是否有匹配的記錄並允許用戶登錄(如任何登錄頁面會做)。我知道這個邏輯,但我真的需要在這方面取得領先。在ASP.NET中使用C#簡單登錄
我只是不喜歡內置的登錄控件,也不應用自定義會員資料。花了我一個月的時間想象這些,我仍然無法得到它,我的老闆也不喜歡它。
任何幫助,將不勝感激;)
提前感謝!
我剛剛開始在ASP.NET中編程,我目前正在製作一個簡單的登錄頁面。我已經有一個用戶和他們的密碼數據庫,所以我想要做的是當用戶輸入用戶名和密碼我希望程序檢查數據庫中是否有匹配的記錄並允許用戶登錄(如任何登錄頁面會做)。我知道這個邏輯,但我真的需要在這方面取得領先。在ASP.NET中使用C#簡單登錄
我只是不喜歡內置的登錄控件,也不應用自定義會員資料。花了我一個月的時間想象這些,我仍然無法得到它,我的老闆也不喜歡它。
任何幫助,將不勝感激;)
提前感謝!
基本思想
protected void Login_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=SYSTEM1;Initial Catalog=master;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
string sql;
sql = "select *from user1 where uname ='" + TextBox1.Text + "' and pwd = '" + TextBox2.Text + "'";
cmd.CommandText = sql;
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Response.Redirect("User.aspx");
}
}
這只是一個想法,你可以實現更安全的方式
SQL注入FTW! – Vedran 2011-04-27 09:32:16
使用參數避免sql注入.. – 2011-04-27 10:32:45
在sql語句中直接連接變量是非常糟糕的做法 – 2017-02-15 16:11:43
Dim connection As OleDbConnection
Dim connStr As String = ConfigurationManager.ConnectionStrings("ConnStr").ConnectionString
Try
connection = New OleDbConnection(connStr)
connection.Open()
If connection.State = Data.ConnectionState.Open Then
Dim query As String = "Select * from Members where email='" + txtUser.Text + "' And password='" + txtPass.Text + "'"
Dim sqlcom As New OleDbCommand(query, connection)
Dim myreader As OleDbDataReader = sqlcom.ExecuteReader()
myreader.Read()
If myreader.HasRows = True Then
User found do something
Else
User not found
End If
myreader.Close()
End If
Catch ex As Exception
Finally
connection.Close()
End Try
除非你至少使用參數,這是如何去做吧。查看維基百科SQL注入。 – 2011-04-27 07:02:04
另外,這是VB.NET和TS正在請求C# – 2011-04-27 07:04:20
我想借此重新審視建立一個自定義成員資格提供,你不需要實現所有的方法,只需要登陸的人,你可以從那裏建立起來。你會在網上找到一些關於如何做到這一點的例子。
是的。在此期間將做到這一點。謝謝! – Loupi 2011-04-27 07:38:55
要做到這一點,最好的方法可能是使用客戶會員提供商 - 您可以保持它非常簡單。
但是,正如您已經表明您不想這樣做,您可以使用Forms Authentication(它將負責將登錄的用戶ID存儲在cookie中),並負責編寫用戶細節到數據庫你自己。請記住在存儲之前散列密碼。
驗證用戶後,您需要將Login Cookie和重定向從登錄Url.Look設置到Web.Config中的FormAuthentication和身份驗證和授權設置。
我不喜歡圓形的輪子,轎車,我不明白他們是如何工作的,所以我正在發明三角形。另外我的老闆不喜歡這些圓形的東西,所以我必須做正確的事情! – Bazzz 2011-04-27 06:53:54
http://stackoverflow.com/questions/565425/how-can-i-get-a-username-and-password-from-my-database-in-c – Siddiqui 2011-04-27 07:03:08