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:
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 xử lí Btlogin:
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 xử lí Btlogout:
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:
Các bạn xem kết quả ở video sau:
Chúc các bạn thành công.
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.
Permissions in this forum:
Bạn không có quyền trả lời bài viết