je développe une application web avec visual web developper 2008 et sql server.
les utilisateurs doivent d’abord s’authentifier. J’ai défini des régles d’accés, je veux que seulement les utilisateur de role admin accédent a la page ~/admin/admin.aspx. Le problème est que aprés connexion l’url demendé est affiché :
Là comme ça, je me disais, facile, je vais pouvoir l’aider … puis plus je relis, plus je me dis : heing ? C’est pas très clair ton problème là. Il faudrait clarifier tout ça.
Si tu utilises un MembershipProvider, tu ne dois pas t’attacher à l’événement Authenticate du contrôle Login.
Cet événement est là pour faire une authentification “maison”.
Si tu t’attaches à cet événement, le MembershipProvider ne sera pas appelé, et le contrôle Login attendra que tu set e.Authenticated à true dans ton handler pour laisser passer.
Retire toi de cet événement, et attaches toi plutôt à LoggedIn. Cet événement survient seulement APRES authentification et envoi du cookie dans la réponse et AVANT redirection.
A noter que l’authentification à ce moment est juste dans le cookie, et pas encore dans Page.User. Il faut attendre la requête suivante pour que le module ASP.NET qui va bien set correctement Page.User.