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 :

Afficher / Masquer des éléments en fonction du nom d'utilisateur


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut Afficher / Masquer des éléments en fonction du nom d'utilisateur
    Bonjour à tous

    Je cherche actuellement à réaliser ceci :
    Sur un repeater dans lequel j'ai une série de commentaires, j'aimerai pouvoir afficher/masquer des boutons (editer et supprimer) en fonction de l'utilisateur.

    Les regles sont simples :
    - Si user = role admin -> j'affiche
    - Si user = Auteur du topic (via un bind sur l'element) -> j'affiche
    - Sinon je masque

    J'ai bien vu le loginview qui correspond en tout point à ce que je cherche mais malheureusement il se limite aux roles et ne va pas plus loin (utilisateurs).
    Savez vous s'il existe une méthode simple pour implémenter cela ? (en opposition a la méthode du "je fais tout moi meme")

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Salut,

    si mes souvenirs sont tu dois faire ceci pour récuperer l'userid de l'utilisateur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MembershipUser mu= Membership.GetUser();
    string uid = mu.ProviderUserKey.ToString();
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    salut,

    merci pour ta réponse mais cela ne repond pas vraiment à ma question.
    Le fait de récupérer l'utilisateur courant dans le code behind aucun probleme.
    Ma problématique etait de savoir s'il y avait un systeme comme le loginview (qui permet de gérer un template pour l'utilisateur loggué et un template pour l'utilsateur non loggué) mais qui permettrait de gérer les autorisations plus finement.

    Sinon pour la méthode à la mano, aucun probleme, je l'ai fait, mais j'aimerai éviter le code behind c'est pour ca

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Eviter le code behind ? normalement c'est plutot le contraire qu'on essaye de faire...et si tu veux des template différents tu as les masterpages...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Dokho1000 : connais tu le fonctionnement d'un LoginView control ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <asp:LoginView ID="ctlRightNavbar" runat="server">
       <AnonymousTemplate><a href="/login.aspx" class="navbar">
          User Login</a></AnonymousTemplate>
       <LoggedInTemplate><a href="/logout.aspx" class="navbar">
          User Logout</a></LoggedInTemplate>
    </asp:LoginView>
    S'il avait été possible d'utiliser le meme principe mais en filtrant sur le username plutot que sur le fait que ce soit anonymous ou loggedin, ca aurait été top. c'est juste ce que je voulais dire.

    Et pour rééxpliquer ma problématique (car les masterpages ne répondent pas du tout à ma question) : ce que je souhaites faire c'est une sorte de présentation façon Forum dans laquelle pour chaque topic on voit s'il appartient à l'utilisateur loggué. Si c'est la cas, on affiche la possibilité d'éditer le topic sinon on masque.
    Pour le moment, j'ai réalisé cela en code behind dans l'itembound event et je cherchais juste à savoir s'il existait un controle capable de faire ca dans l'asp directement.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    J'avais pas compris ca comme ca sorry.

    Je ne pense pas que ca existe mnt je n'ai pas poussé tres loin les fonctionnalitées des loginview

Discussions similaires

  1. [2008R2] Afficher/Masquer des bases en fonction du rôle du login
    Par StringBuilder dans le forum Administration
    Réponses: 0
    Dernier message: 27/11/2014, 09h49
  2. Fonction pour afficher et masquer des éléments simultanément
    Par Dsphinx dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/08/2012, 07h14
  3. Réponses: 5
    Dernier message: 28/07/2010, 15h41
  4. Réponses: 6
    Dernier message: 03/02/2010, 14h00
  5. Afficher/cacher des éléments de type select en fonction d'autres
    Par GLDavid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/04/2006, 10h06

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