ฉันได้ลองค้นหาวิธีการทำสิ่งนี้ให้สำเร็จแล้ว แต่ทุกสิ่งที่ฉันพบดูเหมือนซับซ้อนและครอบคลุมเกินไปจนฉันไม่เข้าใจวิธีการทำงานจริงๆ ต่อไปนี้เป็นสถานการณ์ของฉัน:
ฉันมีตาราง MySQL ธรรมดาชื่อ users
ซึ่งมีแอตทริบิวต์สามรายการ: user_id
, username
และ password
ในหน้า ASP.NET ฉันมีสองกล่องข้อความและปุ่มเข้าสู่ระบบ
ฉันได้อ่านเจอว่าฉันสามารถใช้ FormsAuthentication
ได้ แต่ไม่รู้ว่ามันทำงานอย่างไร ฉันต้องใช้ "การเป็นสมาชิก" หรือไม่ หรือฉันสามารถใช้ FormsAuthentication โดยไม่ได้? ฉันอยากให้มันเรียบง่ายที่สุดเท่าที่จะเป็นไปได้
จนถึงตอนนี้ ฉันเพียงแค่เลือกดังนี้:
String query = "SELECT * FROM users WHERE username = @UserName
AND password = @Password;";
cmd = new MySqlCommand(query, conn);
cmd.Parameters.AddWithValue("@UserName", userName);
cmd.Parameters.AddWithValue("@Password", password);
ในโค้ดของฉันฉันมีสิ่งนี้:
String username = txtUsername.Text;
String password = txtPassword.Text;
User user = database.LogIn(username, password);
และสุดท้ายในไฟล์ web.config ของฉัน ฉันมีสิ่งนี้:
<authentication mode="Forms">
<forms name="MyCookieName"
loginUrl="~/Default.aspx"
timeout="10"
protection="All"
path="/">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
จนถึงตอนนี้ฉันสามารถตรวจสอบได้ว่าผู้ใช้ป้อนข้อมูลที่ถูกต้องหรือไม่ แต่ฉันไม่เข้าใจว่าฉันจะใช้ FormsAuthentication ได้อย่างไร ความช่วยเหลือใด ๆ ที่ชื่นชม