IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Problème d'authentification avec vb6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut Problème d'authentification avec vb6
    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

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    frmprincipal "." & txt & "." & Enabled = False
    txt dans ton cas est une variable String, pas le composant, pour y parvenir tout de même il faut parcourir tout les TextBoxs de ton frmprincipal en y recherchant le composant qui a pour Name = Txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim ObjTxt As TextBox
    Dim Txt As String
    'Txt = rs1!RO_FRMLABEL
    Txt = "Text1"
    For Each ObjTxt In frmprincipal
     If ObjTxt.Name = Txt Then ObjTxt.Enabled = False: Exit For
    Next
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    txt dans ton cas est une variable String, pas le composant, pour y parvenir tout de même il faut parcourir tout les TextBoxs de ton frmprincipal en y recherchant le composant qui a pour Name = Txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim ObjTxt As TextBox
    Dim Txt As String
    'Txt = rs1!RO_FRMLABEL
    Txt = "Text1"
    For Each ObjTxt In frmprincipal
     If ObjTxt.Name = Txt Then ObjTxt.Enabled = False: Exit For
    Next
    txt c'est une simple variable et n'a aucun rapport avec les composant, en outre frmprincipal contient que le menu principal et cette variable txt contient le nom du composant qui est sauvegarder dans la table MFT_AR_ROLE c'est à dire qu'elle peut contenir le nom d'un menu ou sous menu ou un bouton tous dépend du privilège et la form qui contient ce privilège

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Grand merciiiiiiiiiiiiiiiiiiiiiiiiiiii

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Si besoin, Il te reste à prévoir les objets indexés
    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
    Dim Obj As Object
    Dim Idx As Integer
    Dim Txt As String
    'Txt = rs1!RO_FRMLABEL
    'ObjIdx = rs1!RO_FRMLABEL_Idx '-1 = pas d'index
    Txt = "Text1"
    Idx = 3
    For Each Obj In frmprincipal
     If Obj.Name = Txt Then
        If Idx <> -1 Then
            If Obj.Index = Idx Then
                Obj.Enabled = False: Exit For
            End If
        End If
     End If
    Next
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 99
    Par défaut
    Citation Envoyé par bargougui86 Voir le message
    Grand merciiiiiiiiiiiiiiiiiiiiiiiiiiii
    J'ai trouvé un autre problème j'ai des boutons dans d'autre form et non pas dans le frmprincipal, par exemple j'ai le bouton cmdfacturer dans la form frmfacturetemp j'ai désactiver le privilège de ce bouton (son état = 0) mais son Enabled n'a pas changer dans l'interface il est toujours actif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/05/2009, 20h33
  2. problème d'authentification avec aspx
    Par carina dans le forum ASP.NET
    Réponses: 0
    Dernier message: 16/03/2009, 13h26
  3. problème d'authentification avec egroupware
    Par verazano dans le forum Réseau
    Réponses: 1
    Dernier message: 14/06/2008, 14h39
  4. Problème d'authentification avec webService
    Par iDaaX dans le forum Services Web
    Réponses: 7
    Dernier message: 29/01/2007, 19h19
  5. Réponses: 3
    Dernier message: 18/12/2006, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo