แบบที่ 1 ใช้แนวคิดแบบ(แบบชื่ออะไรไม่รู้เหมือนกันไม่ได้คิดไว้) คือเมื่อเพิ่มผู้ใช้ไปแล้ว โปรแกรมจะไปเพิ่มในตาราง tblsystems และ tblprivilage ที่เราสร้างไว้ด้วย พอผู้ใช้กด button หรือเข้าเมนูนั้นให้เราสร้าง sub function เช็คดูอีกที
เมื่อมีการเรียกใช้งาน Form ก็ให้เช็ค โดยการส่งระหัสของระบบเข้าไปเช็คดู Code (VB.NET)
Private Sub frmMember_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
Try
CheckPrivilege("00001")
Catch ex As Exception
Me.Close()
MessageBox.Show("คุณไม่มีสิทธิการเข้าใช้งานในส่วนนี้", "สิทธิการเข้าถึง", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
Code (VB.NET)
Public Function CheckPrivilege(ByVal sysid As String) As Boolean
Thipmanee_Media_Network_Customer_Management_System.MDIMain.Reconnect()
Dim strPrivilege As String = String.Format("SELECT tblprivilege.*,tblsystem.* FROM tblprivilege,tblsystem WHERE tblprivilege.SystemID = tblsystem.SystemID AND tblprivilege.EmployeeID = '{0}' AND tblprivilege.SystemID = '{1}' LIMIT 1", Thipmanee_Media_Network_Customer_Management_System.MDIMain.strEmpID, sysid)
MyAd.SelectCommand.CommandText = strPrivilege
MyAd.Fill(DS, "tblprivilege")
If Not Convert.ToBoolean(DS.Tables("tblprivilege").Rows(0)("IsUsing")) Then
Me.Close()
'เข้าไม่ได้ก็ให้มีข้อความ
MessageBox.Show("คุณไม่มีสิทธิการเข้าใช้งานในส่วนนี้", "สิทธิการเข้าถึง", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
'เปิด/ปิดปุ่มเพิ่ม
If Convert.ToBoolean(DS.Tables("tblprivilege").Rows(0)("IsAdd")) Then
BindingNavigatorAddNewItem.Enabled = True
Else
BindingNavigatorAddNewItem.Enabled = False
End If
'เปิด/ปิดปุ่มลบ
If Convert.ToBoolean(DS.Tables("tblprivilege").Rows(0)("IsDel")) Then
BindingNavigatorDeleteItem.Enabled = True
Else
BindingNavigatorDeleteItem.Enabled = False
End If
'เปิด/ปิดปุ่มแก้ไข
If Convert.ToBoolean(DS.Tables("tblprivilege").Rows(0)("IsEdit")) Then
TSBSave.Enabled = True
Else
TSBSave.Enabled = False
End If
DS.Tables("tblprivilege").Clear()
Return True
End Function