Droit en vb net 2010

cs_tiny23 Messages postés 10 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 7 juin 2011 - 5 juin 2011 à 12:46
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 7 juin 2011 à 22:32
Salut, j'ai juste une question qui me trottine dans la tête
En effet j'ai dans mon projet, 3 utilisateurs qui s'authentifient via un FrmLogin de la manière suivante :

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        If (LoginTextbox.Text "Administrateur" And PasswordTextBox.Text "admin") Then
            Me.Close()
            FrmMDI.Close()
            EcranAdmin()
            FrmMDI.ShowDialog()
        ElseIf LoginTextbox.Text "Responsable Achat" And PasswordTextBox.Text "achat" Then
            Me.Close()
            FrmMDI.Close()
            EcranRA()
            FrmMDI.ShowDialog()
        ElseIf (LoginTextbox.Text "Responsable Uniforme" And PasswordTextBox.Text "uniforme") Then
            Me.Close()
            FrmMDI.Close()
            EcranRMU()
            FrmMDI.ShowDialog()
        Else
            MessageBox.Show("Login et/ou Mot de passe incorrect(s)", "ERREUR", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            LoginTextbox.Text = ""
            PasswordTextBox.Text = ""
        End If
    End Sub

Les deux derniers (Responsable Achat et Uniforme) dans ma conception ne doivent pas avoir le droit de supprimer un enrégistrement. C'est pour cela que j'ai décider dans chacun de leur module masquer le bouton supprimer
exemple module Responsable Uniforme

Public Sub EcranRMU()
    FrmMDI.DéconnexionToolStripMenuItem.Enabled = True
    FrmMDI.DonnéesToolStripMenuItem.Enabled = False
    FrmMDI.AdministrationToolStripMenuItem.Enabled = False
    FrmMDI.EmployéToolStripMenuItem.Enabled = False
    FrmMDI.OpérationnelsToolStripMenuItem.Enabled = False
    FrmMDI.AttributionToolStripMenuItem.Enabled = True
    FrmMDI.RetraitToolStripMenuItem.Enabled = True
    FrmMDI.OpérationsToolStripMenuItem.Enabled = False
    FrmMDI.MagasinToolStripMenuItem.Enabled = True
     FrmAttributionMateriel.ButtonSupprimer.Visible = False  
End Sub

Il ya donc un espace vide entre les boutons et ca devient beaucoup génant. Je ne peux pas mettre un .enable = False parce que ca ne fonctionnera pas puisque chez l'Admin, le comportement change en fonction de ceux des autres boutons de commandes (Nouveau, Enrégistrer,Annuler)

Merci

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
5 juin 2011 à 15:35
Bonjour,

Dans ton cas, je te propose 2 solutions complémentaires :
- Quand l'utilisateur s'identifie, tu mets dans une variable globale son statut (Admin, RA, ...)
- Ensuite pour les boutons, tu peux mettre des Panels contenant les boutons pour chaque niveaux, ensuite, tu n'affiches que le panel qui correspond au niveau de l'utilisateur. Je te conseil d'utiliser la propriété Dock pour le placement automatique des panels

Mon site
0
cs_tiny23 Messages postés 10 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 10:54
Pour la première solution, ca marche, dans chaque module j'ai créé une variable globale maintenant soit un peu plus clair pour la seconde solution. stp
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
7 juin 2011 à 22:32
Bonjour,

La deuxième, je te suggère d'utiliser la propriété Dock des contrôles, tu verra, ça te simplifiera la tache.

Ensuite, tu créé x panels correspondant aux x niveaux possibles.
Après, lors du chargement de la form, en fonction du niveau de l'utilisateur tu masques les panels ne correspondant pas à son niveau.

Sinon, alternative, un contrôle personnalisé, selon la même méthode, mais peut être plus propre.

Mon site
0
Rejoignez-nous