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"
Merci d'avance
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
Partager