Lập trình ASP.NET | Tạo trang đăng nhập trong ASP Để tạo trang đăng nhập thì phải lưu trữ dữ liệu về người dùng để kiểm tra. Ở đây xài SQL 2000 và dữ liệu người dùng được lưu trữ như sau. PHP Code: ACCOUNTS ( _USERNAME, _PASSWORD, _ACCESSRIGHT ) Và dùng một store procedure để truy vấn lấy thông tin người dùng có tên: sp_LogInCRM PHP Code: CREATE proc sp_LogInCRM @username varchar(30) as select _USERNAME, _PASSWORD, _ACCESSRIGHT from ACCOUNTS where _USERNAME=@username GO Tạo webform đăng nhập gồm label: lblMessages, Textbox: txtUsername, Texbox: txtPassword, Button: btnLogin Trong web.config bạn thêm vào một node chứa chuổi kết nối cơ sở dữ liệu như sau: (tuỳ máy mà đổi tên cho đúng) PHP Code: <connectionStrings> <add name="CRMDatabase" connectionString="server=(local); Integrated Security=false; uid=sa; pwd=; database=CRMDatabase;" /> </connectionStrings> Một class Login sẽ làm việc đăng nhập với code như sau: PHP Code: using WCF = System.Web.Configuration.WebConfigurationManager; //gọi sử d ụng web.config using System.Data.SqlClient; /// <summary> /// Summary description for clsLogIn /// </summary> public class clsLogIn { String strUserName = ""; String strPassword = ""; String strMessage = ""; bool bolIsAdmin = false; bool bolIsLoged = false; public String UserName { set { strUserName = value; } get { return strUserName; } } public String Password { set { strPassword = value; } get { return strPassword; } } public String Message { set { strMessage = value; } get { return strMessage; } } public bool IsAdmin { //set { bolIsAdmin = value; } get { return bolIsAdmin; } } public bool IsLoged { //set { bolIsLoged=value;} get { return bolIsLoged; } } public clsLogIn(string username, string password) { strUserName = username; strPassword = password; LogIn(); } private void LogIn() { Method clsMT = new Method(); String strCon = WCF.ConnectionStrings["CRMDatabase"].ConnectionS tring; SqlConnection myCon = new SqlConnection(strCon); myCon.Open(); SqlCommand myCommand = new SqlCommand(); myCommand.CommandText = "sp_LogInCRM"; myCommand.Parameters.Add("@username", UserName); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Connection = myCon; SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand); DataTable myDataTable = new DataTable(); myAdapter.Fill(myDataTable); if (myDataTable.Rows.Count == 0) { bolIsLoged = false; strMessage = "Tên đăng nhập không đúng!!!!"; } else if (myDataTable.Rows[0][1].ToString() != strPassword) { bolIsLoged = false; strMessage = "Mật khẩu không đúng!!!!"; } else { bolIsLoged = true; if (myDataTable.Rows[0][2].ToString() == "ADMIN") bolIsAdmin = true; } } } Trong trang đăng nhập tại code behind bạn viết code để thực thi việc đăng nhập như sau: PHP Code: protected void btnLogIn_Click(object sender, EventArgs e) { clsLogIn objUser = new clsLogIn(txtUserName.Text.Trim(), txtPass word.Text.Trim()); if (objUser.IsLoged) { Session["sesLogin"] = objUser; Response.Redirect("HomePage.aspx"); //Nếu đúng tên đăng nhập và mật khẩu thì gọi trang HomePage.aspx hiển thị } else { lblMessages.Text = objUser.Message; //Thông báo lỗi ra màn h ình } } Nếu thích thì có thêm mấy hàm mã hoá và giải mã cái password __________________ Gác Kiếm . Lập trình ASP. NET | Tạo trang đăng nhập trong ASP Để tạo trang đăng nhập thì phải lưu trữ dữ liệu về người dùng để kiểm tra. Ở đây. (myDataTable.Rows[0][2].ToString() == "ADMIN") bolIsAdmin = true; } } } Trong trang đăng nhập tại code behind bạn viết code để thực thi việc đăng nhập như sau: PHP Code: protected void btnLogIn_Click(object. Session["sesLogin"] = objUser; Response.Redirect("HomePage.aspx"); //Nếu đúng tên đăng nhập và mật khẩu thì gọi trang HomePage.aspx hiển thị } else { lblMessages.Text = objUser.Message;