2009-12-14 7 views
1

J'ai une application Web que j'utilise Contrôle de connexion et adhésion à ASP.net pour le processus de connexion. mon application fonctionne correctement jusqu'à la semaine dernière, je télécharger une nouvelle version, dans cette version, je n'ai pas changé l'UC de connexion et seulement la page principale (page par défaut après l'utilisateur connecté) changé.Contrôle de connexion Asp.net

mais certains utilisateurs me signalent qu'ils ne peuvent pas se connecter et rediriger vers la page de connexion. une note: 1- ce problème occure seulement dans le navigateur IE 2 utilisateurs signaler ce problème peut se connecter à l'ancienne version

ajouter une procédure de connexion et de voir les utilisateurs redirigés becuase de ce code

if (!this.User.Identity.IsAuthenticated) 
{ 
    Response.Redirect("~/Secure/Signin.aspx"); 
} 

J'ai vérifié et voir this.User.Identity.Name était vide ou nul.

Quel paramètre a peut-être changé?

Merci

+0

Dans quelle méthode appelez-vous ce code? Je suppose que c'est après qu'ils ont essayé de se connecter? –

+0

oui. dans la page principale après que les utilisateurs passent la page de connexion. – Ashian

+0

avez-vous une authentification basée sur les rôles? peut-être mieux avoir vérifier les paramètres web.config. – Saar

Répondre

0

doute que cela va résoudre le problème, il est un peu tangental. Mais, plutôt que la main de codage l'URL de redirection, il est poosible d'utiliser

FormsAuthentication.RedirectToLoginPage() 

qui a l'avantage de prendre en charge la returnUrl et d'autres choses. Cela nécessiterait que l'URL de connexion soit définie dans le fichier web.config.

+0

merci, mais ne changez rien – Ashian

1

J'ai vu une chose similaire se produire quand il y avait un tag FORM malformé a été rendu à l'intérieur de ma balise ASP.Net Server FORM. Par "malformé", je veux dire qu'il manquait l'attribut METHOD requis.

Je crois comprendre que la spécification HTML ne prend pas en charge les balises FORM imbriquées, de sorte que les différents navigateurs les gèrent différemment. Dans mon cas, j'ai vu un problème similaire que vous décrivez, sans problèmes dans Firefox, et des problèmes majeurs dans IE.

Assurez-vous qu'il n'y a pas de balises FORM imbriquées sur votre page. Vérifiez également toutes les étiquettes FORM pour vous assurer qu'elles possèdent tous les attributs requis.

+0

merci pour votre réponse, où je dois vérifier, la page de connexion ou les pages de destination? – Ashian

+0

Je crois que la page de connexion est où le problème serait parce que c'est là que le formulaire est soumis. Commencez par vérifier la sortie rendue de la page. Ouvrez la page dans IE, affichez la source et recherchez les balises FORM. S'il y a plusieurs étiquettes FORM, assurez-vous qu'elles sont séparées et qu'un FORM n'est pas dans un autre FORM. –

Questions connexes