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 :

Exception, comment récupérer les rôles de "HttpContext.Current.User"


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Par défaut Exception, comment récupérer les rôles de "HttpContext.Current.User"
    BOnsoir !

    L'exécution du code suivant :

    // Affiche le ou les rôles de l'utilisateur
    RolePrincipal roles = (RolePrincipal)HttpContext.Current.User;
    lblNomUtilisateur.Text += "<br />Connecté en tant que :";
    foreach (string role in roles.GetRoles())
    {
    lblNomUtilisateur.Text += "<br />" + role;
    }

    me retroune le message d'erreur suivant :

    "Impossible d'effectuer un cast d'un objet de type 'System.Security.Principal.WindowsPrincipal' en type 'System.Web.Security.RolePrincipal'."

    Qu'est-ce que ça veut dire ? Il me semble bien utiliser les bons objets !!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut
    Il me semble qu'il y a déjà une propriété Roles que tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lblNomUtilisateur.Text += "<br />Connecté en tant que :";
    foreach (string role in Roles.GetRoles())
    {
        lblNomUtilisateur.Text += "<br />" + role;
    }

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu castes un User en RolePrincipal. Normal que ça marche pas

  4. #4
    Membre averti
    Profil pro
    Dev
    Inscrit en
    Février 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Février 2007
    Messages : 38
    Par défaut
    je me suis aussi pris la tete dessus...

    perso j'ai fait comme ca pour avoir de role :

    //Pour récupere le role d'un utilisateur ou tu spécifie le nom de connection
    MembershipUser users = Membership.GetUser("nom du user");
    String[] RolesUser = Roles.GetRolesForUser(users.UserName);

    //Pour récuperer le role de l'utilisateur connecter
    MembershipUser users = Membership.GetUser();
    String[] RolesUser = Roles.GetRolesForUser(users.UserName);

    //Pour récupere tous les roles dispo dans ton site web
    String[] RolesUser = Roles.GetAllRoles();


  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T'as aussi User.IsInRole("nom_role") pour savoir si un user appartient à un role

  6. #6
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Par défaut
    mommmon tes exemples ne sont valables que si tu utilises l'appartenance ("membership") d'ASP.Net. Ce qui n'est pas mon cas... Personnellement je passe pas la gestion par défaut, mais je désactive en fait (mode="Off"). ou bien je passe par un gestionnaire de rôles.

  7. #7
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Par défaut SOlution
    Bonjour à toutes et tous,

    voici la solution ; le premier code que j'ai posté fonctionne sur la version Team Edition de Visual Studio ; sur la version Express et l'autre fonctionne le code suivant, plus explicite :

    // Affiche le ou les rôles de l'utilisateur
    RolePrincipal roles = new RolePrincipal(HttpContext.Current.User.Identity); //(RolePrincipal)user;
    lblNomUtilisateur.Text += "<br />Connecté en tant que :";
    foreach (string role in roles.GetRoles())
    {
    lblNomUtilisateur.Text += "<br />" + role;
    }

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2007, 16h25
  2. comment récupérer les x premiers enregistrements
    Par laurent82 dans le forum SQL
    Réponses: 7
    Dernier message: 12/12/2004, 16h29
  3. Réponses: 5
    Dernier message: 07/07/2004, 15h13
  4. Réponses: 3
    Dernier message: 23/01/2004, 21h02
  5. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27

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