Thanh Nguyên Admin


Tổng số bài gửi : 526 Được Cảm Ơn : 59 Join date : 11/10/2012 Age : 25 Đến từ : Bà Rịa-Vũng Tàu
 | Tiêu đề: Tạo trag Login + Phân quyền ASP (VB.NET+ Access Database) Tue Mar 12, 2013 8:12 pm | |
|  | |  |  | Tiếp chuỗi bài Trang đăng ký trên web ASP.NET, hôm nay chúng mình tiếp tục đến với các tạo Trang Login cho web ASP.NET sử dụng Access database:
Ta có CSDL.mdb như sau: Tạo Trang Login:Các bạn click phải vào Solution website các bạn đang tạo -> Add new item...-> Web...-> đặt tên cho web page mới là "Login.aspx" như hình: Tiếp tục add file "Global.asax" và khởi tạo biến session như sau: - Code:
Session.Timeout = 1 Session("LOGIN_OK") = False
Tại trang Login.aspx, các bạn thiết kế như sau: Chúng ta khỏi tạo hàm Xacthuc để kiểm tra việc đăng nhập: - Code:
Protected Function xacthuc(ByVal ten As String, ByVal pwd As String) As Boolean Dim ket_noi As New OleDbConnection("provider=microsoft.Jet.oledb.4.0;Data source = " & _ Server.MapPath("App_Data/csdl.mdb")) Dim ma, ma1, s1 As String ma = "" ma1 = "" s1 = "select tentv from thanhvien where tentv ='" & ten & "' and matkhau = '" & pwd & "'" Dim con As OleDbConnection = ket_noi Dim cmd1 As New oledbcommand(s1, con) Dim reader As oledbdatareader con.open() reader = cmd1.executereader() Do While reader.read() ma = reader("tentv") Loop reader.Close() If ma = "" Then Return False Else Return True End If End Function
Code xử lí Btlogin: - Code:
Protected Sub btlogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btlogin.Click If xacthuc(txtusername.Text, txtpassword.Text) Then Session("LOGIN_OK") = True Panellogin.Visible = False PanelLogout.Visible = True Lbgreeting.ForeColor = Drawing.Color.Green Lbgreeting.Text = "Chao " & txtusername.Text + " Da Tro Lai" Btlogout.Visible = True
Dim ket_noi As New OleDbConnection("provider=microsoft.Jet.oledb.4.0;Data source = " & _ Server.MapPath("App_Data/csdl.mdb")) Dim ma, ma1, s1 As String ma = "" ma1 = "" s1 = "select quyen from thanhvien where tentv ='" & txtusername.Text & "'" Dim con As OleDbConnection = ket_noi Dim cmd1 As New OleDbCommand(s1, con) Dim reader As OleDbDataReader con.Open() reader = cmd1.ExecuteReader() Do While reader.Read() ma1 = reader("quyen") Loop reader.Close() If ma1 = "admin" Then Response.Redirect("~/admin.aspx?ten=" & txtusername.Text) End If
'Response.Redirect("~/admin.aspx") Else Lbgreeting.ForeColor = Drawing.Color.Red Lbgreeting.Text = "Dang Nhap That Bai!" Session("LOGIN_OK") = False Btlogout.Visible = False End If End Sub Lưu ý: LBgreeting là Label thông báo đăng nhập (vd: đăng nhập thành công hoặc thất bại,..) ** Các bạn chèn đoạn code sau lên trên cùng trang Login.aspx.vb để sử dụng kết nối CSDL: - Code:
Imports System.Data.OleDb Imports System.Data
Code xử lí Btlogout:- Code:
Protected Sub Btlogout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btlogout.Click Session("LOGIN_OK") = False PanelLogout.Visible = False Panellogin.Visible = True txtusername.Text = "" End Sub
Nguyên tắc của nút btlogout là hủy session("LOGIN_OK") sang trường false. Tại Pages_load, chúng ta chỉ cho hiện panellogin do đó chúng ta dùng đoạn code sau: - Code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load PanelLogout.Visible = False End Sub
Các bạn xem kết quả ở video sau: Chúc các bạn thành công. | |  | |  |
_________________ Cộng Đồng It Vũng Tàu Kinh Nghiệm-Học Hỏi-Chia Sẻ [You must be registered and logged in to see this link.] |
|