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

ASP.NET Discussion :

Menu dynamique et sécurité d'acces


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut Menu dynamique et sécurité d'acces
    Bonjour,

    Dans un projet ASP.NEt webform je dois faire un menu dynamique càd la liste des pages a afficher se trouve dans la base de donnée. pour cela j'ai utilisé NavigationMenu les items s'affiche en fonction du groupe d'utilisateur (utilisateur 1 a le droit de voir 2 ecans sur 4 par exemple) tout fonctionne correctement voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     MenuItem mn = new MenuItem();
                        mn.NavigateUrl = ge.Ecran.url;
                        mn.Text = ge.Ecran.libelle;
                        NavigationMenu.Items.Add(mn);

    J'ai remarqué que si je saisie directement l'url de la page dont je n'ai pas acces elle s'affiche hors justement le but n'est pas juste de cacher les liens.

    j'ai l'habitude de faire cela en Winform ce qui ne pose pas problème.!!

    Avez vous un idée pour bloquer complétement l'accès a ces pages non authorisé? avez vous une autre façon de faire ?

    Merci d'avance pour votre aide!!

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Il faut mettre en place un petit module qui va vérifier à l'entrée de la page que l'utilisateur à bien les permissions. Tu peux éventuellement te baser sur une structure de dossier "Admin", "User"?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut
    re merci pour la réponse!!

    J'ai pensé a mettre la liste des ecrans de l'utilisateur dans la session et faire la vérification au niveau du load de chaque page.
    est ce un bonne idée ? avez vous utilisé cette méthode ?
    (j'ai peur pour les performances!!

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Question session cela dépend de ton mode d'authentification. Question perfs pas de soucis.
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Question session cela dépend de ton mode d'authentification...
    authentification par formulaire ( table utilisateur dans la base de donnée métier).

    en alogorithme j'ai pendu ce petit bout de code dans le load de la page About.aspx :
    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
     
    //verification si la session est bien rensigné ce qui veut dire aussi que l'utilisateur est connecté
    if (Session["UserSession"] != null)
                {
                    Boolean existe = false;
                    IList<GroupeEcran> lis = AuthentificationBusiness.GetInstance().GetEcranGroupeByIdGroupe(Convert.ToInt32(((Utilisateur)Session["UserSession"]).idGroupe));
     
                    foreach (GroupeEcran ge in lis)
                    {
                        if (ge.Ecran.url == "~/About.aspx")
                        {
                            existe = true;
                        }
     
                    }
     
                    if (existe == false)
                    {
                       Response.Redirect("~/Account/Erreur.aspx");
                    }
                }

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Ca me parait pas mal. Pour ce qui est des perfs si tu mets en mémoire la collection derrière cette méthode "GetEcranGroupeByIdGroupe" cela devrait aller. Le test d'une chaîne de caractère est pas forcement ce qu'il y a de mieux mais bon.

    EDIT: En réfléchissant un peu plus (réfléchissement Jean-Pierre!) c'est pas terrible... Fixer le nom de la page risque de se payer plus tard...
    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. [Conception] Droit d'accès sur un menu dynamique
    Par scorpion.os dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/04/2007, 16h17
  2. [Sécurité] Menu dynamique sécurisé
    Par angel75 dans le forum Langage
    Réponses: 3
    Dernier message: 14/08/2006, 15h58
  3. Créer un sous-menu dynamiquement
    Par PurL dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/09/2004, 10h31
  4. [JSP]menu dynamique en jsp
    Par laouedjahmed dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 22/03/2004, 10h50
  5. Menu dynamique sous Flash MX
    Par dens63 dans le forum Flash
    Réponses: 7
    Dernier message: 29/10/2003, 15h46

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