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 :

Redirection vers une page en fonction du rôle de l'utilisateur, après login


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut Redirection vers une page en fonction du rôle de l'utilisateur, après login
    Bonjour,

    J'ai fait pas mal de recherches et je suis toujours bloqué;

    sur la page aspx, j'ai :
    Code ASPX : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Login ID="Login1" runat="server" OnAuthenticate="Login1_Authenticate" >

    et en behind

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
            {
     
                if (Roles.IsUserInRole("joggeur"))
                {
                    Response.Redirect("~/joggeur/runSearch.aspx");
                }
                else
                {
                    Response.Redirect("~/organisateur/organisateurLogged.aspx");
                }
            }

    En fonction du rôle, je redirige mais j'arrive toujours à la page organisateur, or les users/roles sont bons dans la DB, j'ai essayé User.IsInRole, même pas la classe HttpContext, rien y fait.
    Une idée?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    2 points a verifier :
    1 - Est-ce que le role "joggeur" est ecrit exactement comme ceci dans la DB ? Il me semble que le role sensible a la casse (i.e. joggeur != Joggeur != JOGGEUR) ?
    2 - Est-ce que tu as bien une entree dans la table de jointure AspNetUserRoles pour ton utilisateur et ton role ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    2 points a verifier :
    1 - Est-ce que le role "joggeur" est ecrit exactement comme ceci dans la DB ? Il me semble que le role sensible a la casse (i.e. joggeur != Joggeur != JOGGEUR) ?
    2 - Est-ce que tu as bien une entree dans la table de jointure AspNetUserRoles pour ton utilisateur et ton role ?
    1- Oui, les rôles sont créés dans l'administration d'ASP.net car j'utilise les membership pour la sécurité, c'est bien "joggeur" en français et en minuscules
    2 - Oui, j'ai bien l'association de uid du user avec l'uid du rôle dans la table asp_net.UserInRoles

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Etrange. Just avant la ligne if (Roles.IsUserInRole("joggeur")), ajoute ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var user = HttpContext.Current.User;
    Met un point d'arret sur cette ligne.

    - Regarde dans la propriete Roles : est-ce que tu vois le role "joggeur" ?
    - Est-ce que la propriete IsAuthenticated = true ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Etrange. Just avant la ligne if (Roles.IsUserInRole("joggeur")), ajoute ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var user = HttpContext.Current.User;
    Met un point d'arret sur cette ligne.

    - Regarde dans la propriete Roles : est-ce que tu vois le role "joggeur" ?
    - Est-ce que la propriete IsAuthenticated = true ?
    Alors, j'ai déjà recréé une page login.aspx et le control login car il retournait "la connexion a échoué" comme si le mot de passe était incorrect (ce qui est faux bien sûr), on sait maintenant se logger et accéder à la page "joggeur" mais étrangement, quand je me logge avec un compte "organisateur", il me charge quand même la page "joggeur" !?! Exactement, l'inverse d'avant...

    J'ai mis un point d'arrêt sur la var user et lancé en débogage :
    dans les variables locales en bas à gauche (VS2012), dans e, Authenticated: false et dans user null

    Je me demande si ce n'est pas le membership qui déconne, pourtant à la création des comptes, tout va bien...

    Pour info, c'est un pour TFE, le site est ligne, si vous voulez l'adresse et que je peux la poster ici, pas de souci. Merci déjà pour l'aide

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ok, effectivement c'est probablement un souci avec le membership, surtout si Authenticated reste a false...

    Quelle version du Framework utilises-tu pour ce projet ?
    Peux-tu confirmer quelle version d'ASP.NET utilises-tu (WebForms / WebAPI / MVC...) ?

    Depuis quelques annees deja le membership n'est plus utilise, il a ete remplace par ASP.NET Identity.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/01/2006, 21h33
  2. [Tomcat] session expirée redirection vers une page
    Par Casp dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 19/01/2006, 11h45
  3. redirection vers une page internet
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 09/01/2006, 17h42
  4. Redirection vers une page contenant celle qui redirectionne
    Par Rémiz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 16/11/2005, 14h38
  5. [PRO] redirection vers une page
    Par Mister_FX dans le forum ASP
    Réponses: 10
    Dernier message: 23/06/2004, 17h31

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