Bonjour,
J'ai un petit problème au niveau de l'interface de l'authentification des utilisateurs dans mon application vb6
J'ai une table MFT_AR_ROLE qui contient les rôles des utilisateurs et sa structure comme suit
Pour chaque utilisateur ajouter il aura dans la table MFT_AR_ROLE les privilèges d'accès à l'application (par défaut quelque privilèges actifs et les autres sont inactifs)
RO_ID (identifiant unique)
RO_FRMLABEL (le nom de la form ou le menu)
RO_US_ID (l'identifiant de l'utilisateur)
RO_ETAT (l'état du privilège actif ou non: 0 ou 1)
J'ai une interface d'authentification, dans cette interface lorsque l'utilisateur saisie son login et mot de passe et après la vérification de leurs validité j'ai ajouté un Recordset qui lit de la table MFT_AR_ROLE le privilèges de l'utilisateur en question et selon l'état de chaque privilège il l'active ou non
Par exemple si j'ai un menu mnuclient son etat est 0 donc l'Enabled de ce menu sera False
voila le code mais j'ai un message d'erreur "Utilisation incorrecte de la propriété" au niveau de cette ligne
"frmprincipal "." & txt & "." & Enabled = False"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
Private Sub cmdok_Click()
Dim txt
Dim txt1
Call ConnectDB
Set rs = New Recordset
Set rs1 = New Recordset
Dim AES As New CRijndael
'txtCrypté = AES.JustCrypter(txtmotdepasse.Text, txtmotdepasse)
'MsgBox txtCrypté
rs.Open "select * from MFT_AR_USERS where US_LOGIN='" & txtlogin.Text & "' and US_PWD= '" & AES.JustCrypter(txtmotdepasse.Text) & "'", db, adOpenDynamic, adLockOptimistic
'txtDécrypté = AES.JustDécrypter(rs!US_PWD)
'MsgBox txtDécrypté
'If txtmotdepasse.Text = txtDécrypté Then
If rs.RecordCount = 1 Then
txtid.Text = rs!US_ID
frmprincipal.stbprincipal.Panels.Item(3).Text = rs!US_NAME
frmprincipal.stbprincipal.Panels.Item(4).Text = rs!US_ID
frmprincipal.Show
frmprincipal.Enabled = True
rs1.Open "select * from mft_ar_role where ro_us_id='" & rs!US_ID & "' and ro_etat=0", db, adOpenDynamic, adLockOptimistic
rs1.MoveFirst
Do While Not rs1.EOF
txt = rs1!RO_FRMLABEL
'MsgBox txt
frmprincipal "." & txt & "." & Enabled = False
'MsgBox txt1
'txt1 = False
'MsgBox txt1
'frmprincipal.mnuclient.Enabled = False
rs1.MoveNext
Loop
Unload Me
Else
If MsgBox("Login ou mot de passe incorrêcte ", vbCritical + vbYesNo, "Erreur:") = vbNo Then
End
End If
txtlogin.Text = ""
txtmotdepasse.Text = ""
txtlogin.SetFocus
End If
End Sub
Merci d'avance