Problème avec User.IsInRole
Bonjour,
J'ai un site dont la page d'accueil est une page Login. De cette page, l'utilisateur doit être redirigé (dès identification) vers une page donnée selon le rôle auquel il appratient.
Alors je fais :
Code:
1 2 3 4 5
| protected void Page_UnLoad(object sender, EventArgs e)
{
if User.IsInRole("client") Response.Redirect("Accueil client.aspx");
if User.IsInRole("agent") Response.Redirect("Accueil agent.aspx");
} |
Mon problème est que quand j'écris ça dans le fichier Login1.aspx.cs, il n'est plus possible de s'identifier. Le login m'informe que "la connexion a échoué".
A quoi cela peut il être dû?
Merci.
Vous voulez dire dans la méthode Page_LoggedIn?
Vous voulez dire dans la méthode Page_LoggedIn? ça ne marche toujours pas.
Croyant que c'est parce que l'objet User n'a pas encore ue le temps d'être associé à l'utilisateur effectivement identifié, j'ai tenté de faire une redirection vers une page d'aiguillongae (une page vide, qui n'est là que pour contenir le code :
if (User.IsInRole("client")) Response.Redirect("accueil client.aspx");
if (User.IsInRole("agent")) Response.Redirect("accueil agent.aspx");
Cette fois, la connexion marche, puisque l'utilisateur est bien redirigé vers cette page. Mais c'est tout. Le code n'est pas exécuté. Cela m'amène à croire que le problème est lié à l'emploi de l'objet User lui-même.
Dans quelles conditions peut on l'utiliser? Y a t-il une initialisation ou instanciation de quelque forme que ce soit à faire avant?
Avec LoggedIn, ça ne marche toujours pas
Je crois que cela doit avoir à voir avec une affaire de fournisseur de rôles.
Je me suis servi de l'outil d'administration pour créer des rôles et des identifiants associés à ces rôles.
Mais je constate que dans ma base de données les tables se rapportant aux rôles sont vides.
Et dans le web.config, dan sla partie role manager, enabled est à true, mais aucun nom de fournisseur n'est spécifié.
ça doit être ça non? comment je gère cette affaire là?
User.IsInRole retourne toujours false
User.IsInRole retourne toujours false.
En revanche, avec Roles.IsUserInRole, ça marche.
Bizarre non?
Merci