Sikkerhed på formniveau
På Thomas Jepsens hjemmeside, har jeg hentet følgende databaseeksempel : LoginDB.mdbI forhold til de muligheder den giver mig for adgang til formulerer, savner jeg en mulighed for helt at udelukke en brugergruppe adgang til en given formular.
Se nedenstående :
Option Compare Database
Option Explicit
'***********************************************************************************************
' Denne kode er udviklet af Thomas Jepsen, 2000
' Dele eller hele koden må frit benyttes i applikationer, så længe kildeangivelse er bevaret
' Besøg www.makeiteasy.dk eller skriv til tj@makeiteasy.dk,
' hvis der opstår fejl eller spørgsmål, eller du har brug for yderligere assistance
'***********************************************************************************************
Public Username As String
Public SecurityLevel As Levels
Public Enum Levels
SecReadOnly = 1
secuser = 2
secadmin = 3
End Enum
Public Function SetPermissions(F As Form) As Boolean
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
On Error Resume Next
Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open "Select * From appSecurity_Permissions Where Formname = '" & F.Name & "' And SecurityLevel = " & SecurityLevel, cn, adOpenStatic
If rs.EOF Then
SetPermissions = False
F.AllowAdditions = False
F.AllowDeletions = False
F.AllowEdits = False
Exit Function
End If
Select Case rs!Permission
Case 0 'Nothing
F.AllowAdditions = False
F.AllowDeletions = False
F.AllowEdits = False
Case 2 'Add
F.AllowAdditions = True
F.AllowDeletions = False
F.AllowEdits = False
Case 4 'Delete
F.AllowAdditions = False
F.AllowDeletions = True
F.AllowEdits = False
Case 6 'Add+Delete
F.AllowAdditions = True
F.AllowDeletions = True
F.AllowEdits = False
Case 8 'Edit
F.AllowAdditions = False
F.AllowDeletions = False
F.AllowEdits = True
Case 10 'Edit+Add
F.AllowAdditions = True
F.AllowDeletions = False
F.AllowEdits = True
Case 12 'Edit+Delete
F.AllowAdditions = False
F.AllowDeletions = True
F.AllowEdits = True
Case 14 'Everything
F.AllowAdditions = True
F.AllowDeletions = True
F.AllowEdits = True
Case 99 'No Access
MsgBox ("You do not have permission to view this function.")
End Select
SetPermissions = True
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
De enkelte formularer opnår der adgang til via hovedmenuen, og jeg vil gerne at brugeren får meddelelse om at der ikke er adgang til funktionen, og returnerer denne til hovedmenuen igen.
Det er det formål jeg har tiltænkt som Case 99 !!!!
Men hvordan afsluttes koden.
