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 :

[asp.net] incompréhension dans la gestion des roles du sitemap


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut [asp.net] incompréhension dans la gestion des roles du sitemap
    bonjour,

    J'utilise pour mon site un objet sitemap, et un custom role provider dans lequel je gère moi-même un ou deux rôles, selon l'utilisateur.


    voici mon fichier web.sitemap :

    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
     
     
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true" >
        <siteMapNode url="Default.aspx" title="Menu"  description="" >
          <siteMapNode url="" title="$resources: local, menu_vehicle" roles="VEH_VIEW">
            <siteMapNode url="Main.aspx" title="$resources: local, menu_vehiclelist" roles="VEH_VIEW" />
            <siteMapNode url="~/VehicleCreation.aspx?Mode=insert" title="$resources: local, menu_createvehicle"  roles="VEH_MODIFY" />
            <siteMapNode url="~/VehicleModification.aspx?Mode=edit" title="$resources: local, menu_modifyvehicle"  roles="VEH_MODIFY" />
            <siteMapNode url="~/VehicleModification.aspx?Mode=del" title="$resources: local, menu_removevehicle" roles="VEH_MODIFY"/>
          </siteMapNode>
     
          <siteMapNode title="$resources: local, menu_equipement" url="" description="" roles="VEH_VIEW" >
            <siteMapNode title="$resources: local, menu_equipmentlist" url="~/EquipmentList.aspx" roles="VEH_VIEW" />
            <siteMapNode title="$resources: local, menu_attacheequipement" url="~/AttachEquipment.aspx" roles="VEH_MODIFY"/>
            <siteMapNode title="$resources: local, menu_detachequipement" url="~/DetachEquipment.aspx" roles="VEH_MODIFY"/>
          </siteMapNode>
     
          <siteMapNode url="~/Parameters.aspx" title="$resources: local, menu_parameters" description="" roles="VEH_VIEW">
          </siteMapNode>
        </siteMapNode>
    </siteMap>

    et du point de vue des autorisation, le web.config ne contient que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        <authorization>
          <deny users="?"/>
        </authorization>
    Résultat :

    - Si on ne met aucun droit, le noeud "menu_parameters" reste affiché.

    - Si on ne met que le droit "VEH_VIEW", tout l'arbre est affiché, y compris les sous-menus déroulants, alors que la plupart devraient être cachés, en l'absence du rôle "VEH_MODIFY".


    Je n'arrive pas à comprendre la logique du système, est-ce un bug de la génération de l'arbre (je ne pense pas vu que personne n'a signalé un tel comportement sur les différents forums que j'ai pu voir, ou un système de droits extérieur (les autorisations de IIS ?) vient-il parasiter le système ?


    Question subsidaire : Y a t-il un moyen de m'affranchir du droit "VEH_VIEW" pour autoriser par défaut toutes les noeuds actuellement liés à "VEH_VIEW" ? Quel syntaxe est la bonne ?

    -roles="*"
    -roles=""
    -pas d'attribut "roles" ?

    Merci d'avance...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    En regardant très vite ton fichier sitemap, il me semble que cela est normal que tout s'affiche avec le role "VEH_VIEW".
    Tu as deux Root ?
    Je débute avec le sitemap, mais ce que j'ai fait est un role different pour chaque page et le root contenant l'ensemble des pages, prendra tous les roles.
    Second Root, avec les roles (different du premier root) des pages.

    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
     
     
       <siteMapNode url="Default.aspx" title="Menu"  description="" >
          <siteMapNode url="" title="$resources: local, menu_vehicle" roles="VEH_VIEW">
            <siteMapNode url="Main.aspx" title="$resources: local, menu_vehiclelist" roles="VEH_MODIFY,VEH_REMOVE,VEH_CREATE" />
            <siteMapNode url="~/VehicleCreation.aspx?Mode=insert" title="$resources: local, menu_createvehicle"  roles="VEH_CREATE" />
            <siteMapNode url="~/VehicleModification.aspx?Mode=edit" title="$resources: local, menu_modifyvehicle"  roles="VEH_MODIFY" />
            <siteMapNode url="~/VehicleModification.aspx?Mode=del" title="$resources: local, menu_removevehicle" roles="VEH_REMOVE"/>
          </siteMapNode>
     
          <siteMapNode title="$resources: local, menu_equipement" url="" description="" roles="EQUI_LIST,EQUI_ATTACH,EQUI_DETACH" >
            <siteMapNode title="$resources: local, menu_equipmentlist" url="~/EquipmentList.aspx" roles="EQUI_LIST" />
            <siteMapNode title="$resources: local, menu_attacheequipement" url="~/AttachEquipment.aspx" roles="EQUI_ATTACH"/>
            <siteMapNode title="$resources: local, menu_detachequipement" url="~/DetachEquipment.aspx" roles="EQUI_DETACH"/>
          </siteMapNode>
     
          <siteMapNode url="~/Parameters.aspx" title="$resources: local, menu_parameters" description="" roles="PARAM">
          </siteMapNode>
        </siteMapNode>
    </siteMap>
    Fix

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    Ce qui voudrait dire qu'on ne peut pas lier deux nodes au même role ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    ah j'en sais rien, je n'ai pas approfondi le sujet, moi je joue en groupe.
    Maintenant tu me dis que via ton exemple, tu sélectionnes tel groupe et cela affiche tout, cela me semble normal vu que les deux root node ont ce droit.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    Quand un rôle est acqui pour un noeud donné cela implique que tous les sous-noeuds sont eux-aussi affichés automatiquement ??? Si c'est ça la logique du truc m'échappe de plus en plus...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    je relance le sujet,
    je suis également de plus en plus perdu, je pensais comprendre mais là je ne vois plus rien du tout.
    Je n'utilise pas de fichier xml mais une base de données.
    J'ai donc une table: id - Title - Description - Url - Roles - Parent
    J'utilise également une class SqlSiteMapProvider (que maintenant je me doute de devoir modifier car apparement il y a des problèmes), qqun a t'il des explications à propos de ce SqlSiteMapProvider ?

    Qui doit avoir quel droit ?

    Fix

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/02/2014, 13h03
  2. Comment activer la gestion des roles ASP.NET
    Par Afaf001 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/08/2013, 16h59
  3. Gestion des Roles en ASP.NET
    Par akli2008 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 08/04/2008, 14h23
  4. Réponses: 5
    Dernier message: 15/02/2008, 12h15
  5. [ASP.NET2.0 C#] Gestion des roles
    Par bizet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/08/2007, 11h48

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