Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Tạo trang đăng nhập trong ASP.NET với lập trình C#

  1. #1
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Mặc định Tạo trang đăng nhập trong ASP.NET với lập trình C#

    Để 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.

    T-SQL Code:
    1. 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
    T-SQL Code:
    1. CREATE  proc sp_LogInCRM
    2.     @username  varchar(30)
    3. as
    4.     select _USERNAME, _PASSWORD, _ACCESSRIGHT
    5.     from ACCOUNTS
    6.     where _USERNAME=@username
    7.  
    8.  
    9. 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)
    XML Code:
    1.   <connectionStrings>
    2.     <add name="CRMDatabase" connectionString="server=(local); Integrated Security=false; uid=sa; pwd=; database=CRMDatabase;" />
    3.   </connectionStrings>

    Một class Login sẽ làm việc đăng nhập với code như sau:

    Visual C# Code:
    1. using WCF = System.Web.Configuration.WebConfigurationManager; //gọi sử dụng web.config
    2. using System.Data.SqlClient;
    3.  
    4. /// <summary>
    5. /// Summary description for clsLogIn
    6. /// </summary>
    7. public class clsLogIn
    8. {
    9.     String strUserName = "";
    10.     String strPassword = "";
    11.     String strMessage = "";
    12.     bool bolIsAdmin = false;
    13.     bool bolIsLoged = false;
    14.    
    15.     public String UserName
    16.     {
    17.         set { strUserName = value; }
    18.         get { return strUserName; }
    19.     }
    20.  
    21.     public String Password
    22.     {
    23.         set { strPassword = value; }
    24.         get { return strPassword; }
    25.     }
    26.  
    27.     public String Message
    28.     {
    29.         set { strMessage = value; }
    30.         get { return strMessage; }
    31.     }
    32.  
    33.     public bool IsAdmin
    34.     {
    35.         //set { bolIsAdmin = value; }
    36.         get { return bolIsAdmin; }
    37.     }
    38.  
    39.     public bool IsLoged
    40.     {
    41.         //set { bolIsLoged=value;}
    42.         get { return bolIsLoged; }
    43.     }
    44.  
    45.     public clsLogIn(string username, string password)
    46.     {
    47.         strUserName = username;
    48.         strPassword = password;
    49.         LogIn();
    50.     }
    51.  
    52.     private void LogIn()
    53.     {
    54.         Method clsMT = new Method();
    55.  
    56.         String strCon = WCF.ConnectionStrings["CRMDatabase"].ConnectionString;
    57.         SqlConnection myCon = new SqlConnection(strCon);
    58.         myCon.Open();
    59.         SqlCommand myCommand = new SqlCommand();
    60.         myCommand.CommandText = "sp_LogInCRM";
    61.         myCommand.Parameters.Add("@username", UserName);
    62.         myCommand.CommandType = CommandType.StoredProcedure;
    63.         myCommand.Connection = myCon;
    64.         SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
    65.         DataTable myDataTable = new DataTable();
    66.         myAdapter.Fill(myDataTable);
    67.  
    68.         if (myDataTable.Rows.Count == 0)
    69.         {
    70.             bolIsLoged = false;
    71.             strMessage = "Tên đăng nhập không đúng!!!!";
    72.         }
    73.         else if (myDataTable.Rows[0][1].ToString() != strPassword)
    74.         {
    75.             bolIsLoged = false;
    76.             strMessage = "Mật khẩu không đúng!!!!";
    77.         }
    78.         else
    79.         {
    80.             bolIsLoged = true;
    81.             if (myDataTable.Rows[0][2].ToString() == "ADMIN")
    82.                 bolIsAdmin = true;
    83.         }
    84.     }
    85. }

    Trong trang đăng nhập tại code behind bạn viết code để thực thi việc đăng nhập như sau:
    Visual C# Code:
    1.     protected void btnLogIn_Click(object sender, EventArgs e)
    2.     {
    3.         clsLogIn objUser = new clsLogIn(txtUserName.Text.Trim(), txtPassword.Text.Trim());
    4.         if (objUser.IsLoged)
    5.         {
    6.             Session["sesLogin"] = objUser;
    7.             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ị
    8.         }
    9.         else
    10.         {
    11.             lblMessages.Text = objUser.Message; //Thông báo lỗi ra màn hình
    12.         }
    13.     }

    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

  2. #2
    Ngày gia nhập
    02 2011
    Nơi ở
    quảng ngãi
    Bài viết
    5

    cảm ơn bạn rất nhiều, mèo mới học về C# thôi nên chưa hiểu rõ lắm

  3. #3
    Ngày gia nhập
    05 2011
    Bài viết
    54

    Trích dẫn Nguyên bản được gửi bởi sunflower Xem bài viết
    Để 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.

    T-SQL Code:
    1. 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
    T-SQL Code:
    1. CREATE  proc sp_LogInCRM
    2.     @username  varchar(30)
    3. as
    4.     select _USERNAME, _PASSWORD, _ACCESSRIGHT
    5.     from ACCOUNTS
    6.     where _USERNAME=@username
    7.  
    8.  
    9. 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)
    XML Code:
    1.   <connectionStrings>
    2.     <add name="CRMDatabase" connectionString="server=(local); Integrated Security=false; uid=sa; pwd=; database=CRMDatabase;" />
    3.   </connectionStrings>

    Một class Login sẽ làm việc đăng nhập với code như sau:

    Visual C# Code:
    1. using WCF = System.Web.Configuration.WebConfigurationManager; //gọi sử dụng web.config
    2. using System.Data.SqlClient;
    3.  
    4. /// <summary>
    5. /// Summary description for clsLogIn
    6. /// </summary>
    7. public class clsLogIn
    8. {
    9.     String strUserName = "";
    10.     String strPassword = "";
    11.     String strMessage = "";
    12.     bool bolIsAdmin = false;
    13.     bool bolIsLoged = false;
    14.    
    15.     public String UserName
    16.     {
    17.         set { strUserName = value; }
    18.         get { return strUserName; }
    19.     }
    20.  
    21.     public String Password
    22.     {
    23.         set { strPassword = value; }
    24.         get { return strPassword; }
    25.     }
    26.  
    27.     public String Message
    28.     {
    29.         set { strMessage = value; }
    30.         get { return strMessage; }
    31.     }
    32.  
    33.     public bool IsAdmin
    34.     {
    35.         //set { bolIsAdmin = value; }
    36.         get { return bolIsAdmin; }
    37.     }
    38.  
    39.     public bool IsLoged
    40.     {
    41.         //set { bolIsLoged=value;}
    42.         get { return bolIsLoged; }
    43.     }
    44.  
    45.     public clsLogIn(string username, string password)
    46.     {
    47.         strUserName = username;
    48.         strPassword = password;
    49.         LogIn();
    50.     }
    51.  
    52.     private void LogIn()
    53.     {
    54.         Method clsMT = new Method();
    55.  
    56.         String strCon = WCF.ConnectionStrings["CRMDatabase"].ConnectionString;
    57.         SqlConnection myCon = new SqlConnection(strCon);
    58.         myCon.Open();
    59.         SqlCommand myCommand = new SqlCommand();
    60.         myCommand.CommandText = "sp_LogInCRM";
    61.         myCommand.Parameters.Add("@username", UserName);
    62.         myCommand.CommandType = CommandType.StoredProcedure;
    63.         myCommand.Connection = myCon;
    64.         SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
    65.         DataTable myDataTable = new DataTable();
    66.         myAdapter.Fill(myDataTable);
    67.  
    68.         if (myDataTable.Rows.Count == 0)
    69.         {
    70.             bolIsLoged = false;
    71.             strMessage = "Tên đăng nhập không đúng!!!!";
    72.         }
    73.         else if (myDataTable.Rows[0][1].ToString() != strPassword)
    74.         {
    75.             bolIsLoged = false;
    76.             strMessage = "Mật khẩu không đúng!!!!";
    77.         }
    78.         else
    79.         {
    80.             bolIsLoged = true;
    81.             if (myDataTable.Rows[0][2].ToString() == "ADMIN")
    82.                 bolIsAdmin = true;
    83.         }
    84.     }
    85. }

    Trong trang đăng nhập tại code behind bạn viết code để thực thi việc đăng nhập như sau:
    Visual C# Code:
    1.     protected void btnLogIn_Click(object sender, EventArgs e)
    2.     {
    3.         clsLogIn objUser = new clsLogIn(txtUserName.Text.Trim(), txtPassword.Text.Trim());
    4.         if (objUser.IsLoged)
    5.         {
    6.             Session["sesLogin"] = objUser;
    7.             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ị
    8.         }
    9.         else
    10.         {
    11.             lblMessages.Text = objUser.Message; //Thông báo lỗi ra màn hình
    12.         }
    13.     }

    Nếu thích thì có thêm mấy hàm mã hoá và giải mã cái password
    Mình cũng làm như bạn, nhưng khi thử chương trình thì lại báo lỗi:

    public clsLogIn(string username, string password)


    lý do: CS1520: Method must have a return type

    bạn giúp mình giải thích lỗi này với.

  4. #4
    Ngày gia nhập
    09 2010
    Bài viết
    487

    Nó báo là phương thức phải có kiểu dữ liệu trả về.
    Bác cop xem lỗi ở chỗ nào chứ, dài thế này thì biết làm sao mà dò.
    Một mình ngồi khóc ngoài trời bão tố người đi...


  5. #5
    Ngày gia nhập
    11 2012
    Bài viết
    3

    Mặc định bạn xóa cái này đi mình làm theo được (Method clsMT = new Method();)

    Trích dẫn Nguyên bản được gửi bởi tomcat Xem bài viết
    Mình cũng làm như bạn, nhưng khi thử chương trình thì lại báo lỗi:

    public clsLogIn(string username, string password)


    lý do: CS1520: Method must have a return type

    bạn giúp mình giải thích lỗi này với.

    bạn xóa cái này đi mình làm theo được (Method clsMT = new Method()

  6. #6
    Ngày gia nhập
    06 2014
    Nơi ở
    Soc Trang, Vietnam
    Bài viết
    1

    Mặc định Tạo trang đăng nhập trong ASP.NET với lập trình C#

    sao bên design mình để tên id của textbox là txtUserName và txtPassword mà qua bên code nó lại báo là txtUserName does not exist in the current context vậy?
    txtPassword cũng bị vậy luôn. Ai giúp mình với
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.jpg
Lần xem:	14
Size:		99.5 KB
ID:		28321

Các đề tài tương tự

  1. Video hướng dẫn tạo form đăng nhập,phân quyền trong trang Asp.Net C# - Coding By ESonDinh
    Gửi bởi giangnamnam trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 21-09-2013, 07:43 AM
  2. Tạo trang đăng nhập trong lập trình C#?
    Gửi bởi sasadudu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 19-03-2013, 10:59 PM
  3. Lỗi WebDev.WebServer.exe khi đăng nhập trên localhost trên trang đăng nhập
    Gửi bởi canhkho trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 18-05-2011, 04:14 PM
  4. Bắt bược đăng nhập trước khi vào vào trang web
    Gửi bởi edogawaconan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 22-04-2011, 01:54 AM
  5. Tự động đăng nhập 1 trang web và gửi dữ liệu.
    Gửi bởi lqchinh trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 19-01-2011, 12:41 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn