none
gestion des privillèges sur le menu RRS feed

  • Question

  • bonsoir à tous, je voudrais  administrer le menu de mon application mdi sous vb 2008, quelqu'un aurait il une idée sur la procédure à suivre? merci d'avance
    samedi 12 décembre 2009 19:47

Réponses

  • ce problème a trouvé une solution.

    En fait, j'ai crée une table dans ma base de données SqlServer 2008 où chaque menu ou sous-menu a une valeur booléenne,ensuite je crée un dataset avec SqlDataAdapter que je charge .Lorsqu'un utilisateur de mon application se log à travers un loginForm,l'état des menus et des sous-menus reflète leurs états dans la table de la bd.

    exemple

    Dim

     

    f As LoginFrmSICESD = CType(Me.Owner, LoginFrmSICESD)

     

    With SqlDataAdapter1

     

    "@Matricule").Value = f.UsernameTextBox.Text

     

    Dim query1 = _

     

    From Identification In DataSetPrivilEnable11.Identification.AsEnumerable _

     

    Where Identification.Matricule = f.UsernameTextBox.Text _

     

    Select Identification

     

    For Each p In query1

     

    If p.Fichier.ToString = False Then

     

    Me.FileMenu.Enabled = False

     

    End If

     

    If p.Quitter.ToString = False Then

     

    Me.ExitToolStripMenuItem.Enabled = False

     

    End If

     

    If p.Pers.ToString = False Then

     

    Me.EditMenu.Enabled = False

     

    End If

     

    If p.EnregPers.ToString = False Then

     

    Me.UndoToolStripMenuItem.Enabled = False

     

    End If

     

     

     

     

     

     

     

     

     

     

     

    Next
    • Marqué comme réponse supdate lundi 7 mars 2011 14:08
    • Modifié supdate mercredi 9 mars 2011 07:24
    lundi 7 mars 2011 14:08

Toutes les réponses

  • Bonjour,

    Vous avez trouvé une idée interressante pour cette question? cela pourrait beaucoup m'interresser.

    Cordialement,


    Jean PERIGNY, Développeur
    dimanche 27 février 2011 03:52
  • Bonjour,

    Moi je créerai une classe avec des membres nom, menu comme ceci:

     

    Public Class Form1
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     Dim sebastien As New personne() With {.Nom = "Durand", .AccessMenu1 = False, .AccessMenu2 = True}
     Dim gregory As New personne() With {.Nom = "Dupont", .AccessMenu2 = False, .AccessMenu1 = True}
     Dim PersonnesWithAccessToMenu1 As New List(Of personne) From {sebastien}
     Dim PersonnesWithAccessToMenu2 As New List(Of personne) From {gregory}
     If sebastien.AccessMenu1 Then
      SaveToolStripMenuItem.Visible = True
     Else
      SaveToolStripMenuItem.Visible = False
     End If
     End Sub
    
     Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
     'code
     End Sub
    End Class
    
    Public Class personne
     Property Nom As String
     Property AccessMenu1 As Boolean
     Property AccessMenu2 As Boolean
     Property AccessMenu3 As Boolean
    End Class

     

     


    fred
    • Proposé comme réponse jperigny lundi 28 février 2011 02:30
    dimanche 27 février 2011 17:29
  • Bonjour et merci pour la réponse.

    Je garde l'idée, et je continue mes tests. Pour l'instant, j'essaye l'idée suivante :

    - Récupération des items de menus et sous-menus

    - Mise en place de ces items dans un treeview avec case à cocher

    - Choix des items par utilisateur

    - et sauvegarde dans un fichier (peut-être xml)

    pour l'instant je continue mes recherches et test, mais je garde votre idée, merci beaucoup.

    Cordialement


    Jean PERIGNY, Développeur jperigny@hotmail.fr
    • Marqué comme réponse supdate lundi 7 mars 2011 14:08
    • Non marqué comme réponse supdate lundi 7 mars 2011 14:09
    lundi 28 février 2011 02:40
  • ce problème a trouvé une solution.

    En fait, j'ai crée une table dans ma base de données SqlServer 2008 où chaque menu ou sous-menu a une valeur booléenne,ensuite je crée un dataset avec SqlDataAdapter que je charge .Lorsqu'un utilisateur de mon application se log à travers un loginForm,l'état des menus et des sous-menus reflète leurs états dans la table de la bd.

    exemple

    Dim

     

    f As LoginFrmSICESD = CType(Me.Owner, LoginFrmSICESD)

     

    With SqlDataAdapter1

     

    "@Matricule").Value = f.UsernameTextBox.Text

     

    Dim query1 = _

     

    From Identification In DataSetPrivilEnable11.Identification.AsEnumerable _

     

    Where Identification.Matricule = f.UsernameTextBox.Text _

     

    Select Identification

     

    For Each p In query1

     

    If p.Fichier.ToString = False Then

     

    Me.FileMenu.Enabled = False

     

    End If

     

    If p.Quitter.ToString = False Then

     

    Me.ExitToolStripMenuItem.Enabled = False

     

    End If

     

    If p.Pers.ToString = False Then

     

    Me.EditMenu.Enabled = False

     

    End If

     

    If p.EnregPers.ToString = False Then

     

    Me.UndoToolStripMenuItem.Enabled = False

     

    End If

     

     

     

     

     

     

     

     

     

     

     

    Next
    • Marqué comme réponse supdate lundi 7 mars 2011 14:08
    • Modifié supdate mercredi 9 mars 2011 07:24
    lundi 7 mars 2011 14:08
  • Merci Supdate,

    Cordialement,


    Jean PERIGNY, Développeur jperigny@hotmail.fr
    lundi 7 mars 2011 16:03