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 :

Cacher un liens en fonction des rôles/accès.


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Cacher un liens en fonction des rôles/accès.
    Bonjour,

    Sur mon site web ASP.net, j'utilise l'authentification (User/role/acces)

    Je souhaiterai sans utiliser "Web.sitemap" cacher un lien si l'utilisateur n'a pas le rôle admin..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td><a href="/AmalgamForm.aspx" title="Formulaire">Formulaire</a></td>
     <td><a href="/Default.aspx" title="Article">Article</a></td>
    <td><a href="/Download.aspx" title="Téléchargement">Téléchargement</a></td>   <============= Ce liens là doit être caché
    <td><a href="/ContactUs.aspx" title="Contact">Contact</a></td>
    seul les personnes en administrateur doivent voire le lien téléchargement.
    Comment je peux faire?

    Note : est ce que je peux aussi "caché" n'importe quel éléments en fonction des droits? Exemple: Si la personne n'est pas administrateur l'image est caché?

    Merci...

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Tu peux très bien faire ceci au chargement de la page (en supposant ton lien invisible par défaut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (User.IsInRole("Admin")) 
        TonLien.Visible = True;
    En espérant t'avoir aidé.

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Sinon, si tes différentes pages sont dans différents répertoires, un web.config dans chacun de ces répertoires de permettra d'en gérer l'accès simplement.

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    Sinon, si tes différentes pages sont dans différents répertoires, un web.config dans chacun de ces répertoires de permettra d'en gérer l'accès simplement.
    Pas une bonne idée je pense. Restreindre l'accès aux pages en fonction des rôles dans un seul fichier Web.Config n'est pas compliqué. Dupliquer les fichiers de config ajoute du boulot pour la maintenance et accroît le risque d'erreur.

    La question de base est : cacher un lien (ou un contrôle) en fonction du rôle. Mais calagan a bien fait de préciser qu'il faut aussi restreindre l'accès à la page (en plus de ne pas afficher le lien) par rôle.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Nicolas : Je suis d'accord avec toi sur le fait que cela demande plus de maintenance.
    Cela dit, une fois les rôle bien définis, normalement cela va vite.
    L'avantage de cette solution est que les pages sont réellement inaccessibles par les rôles n'en n'ayant pas le droit.
    La solution que tu proposes est simple et peu couteuse, mais n'empêcheras pas un user connaissant l'url interdite d'y accéder.

  6. #6
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    La solution que tu proposes est simple et peu couteuse, mais n'empêcheras pas un user connaissant l'url interdite d'y accéder.
    Ah bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <location path="MaPage.aspx" >
        <system.web>
          <authorization>
            <allow roles="MonRole"/>
            <deny users="*"/>
          </authorization>
        </system.web>
      </location>
    Ce bout de code ne sert à rien alors ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci

    J'ai utilisé cette méthode c'est parfait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (User.IsInRole("Admin")) 
        TonLien.Visible = True;
    NOTE: attention de mettre runat="server" sur le lien pour l'utiliser.

  8. #8
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Ok, mais tu as bien pris en compte le conseil de calagan quand même ? A savoir : limiter l'accès à la page directement dans le web.config, en plus de cacher le lien.

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

Discussions similaires

  1. Gestion des données modifiables en fonction du rôle
    Par matsin dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 10/02/2010, 11h14
  2. Gérer les accès en fonction des rôles
    Par Mike888 dans le forum VB.NET
    Réponses: 13
    Dernier message: 04/12/2008, 20h32
  3. Action en fonction des liens
    Par Konami15 dans le forum ASP
    Réponses: 5
    Dernier message: 22/09/2008, 14h29
  4. Définir des rôles pour l'accès aux EJB
    Par Invité dans le forum Glassfish et Payara
    Réponses: 6
    Dernier message: 21/08/2008, 22h07
  5. Gestion des Menu en fonction du rôle sous 10g
    Par ouatmad dans le forum Forms
    Réponses: 1
    Dernier message: 22/03/2008, 12h39

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