7
votes

Formulaires de travail travaillant dans chaque navigateur, sauf pour IE

Ceci est certainement un étrange ...

J'ai un site Web ASP.NET 4.0, C # qui possède une page de connexion utilisant FormultinsAuthentication pour gérer l'accès des utilisateurs. Il y a également du code sur tout le site qui recule de l'utilisateur à la page de connexion chaque fois qu'une session momentanée ou quelque chose d'autre qui les oblige à se connecter à nouveau. C'est tout ce genre de base que j'ai fait une douzaine de fois auparavant.

Je sais que tout ce processus fonctionne, car j'ai été capable de vous connecter au site qui traverse VS2010 sur chaque navigateur que j'ai essayé. Cela fonctionne également parfaitement lorsqu'il est assis sur le serveur de développement à l'aide de Chrome, Firefox, Safari (Mac) et deux navigateurs de téléphone portable. La seule chose que j'ai eu un problème avec Internet Explorer.

Maintenant, celui-ci est un peu difficile à déboguer en considérant que cela fonctionne dans IEC localement mais pas sur le serveur. Le fait que cela fonctionne aussi dans d'autres navigateurs sur le serveur est également en quelque sorte exclu un problème de configuration du serveur.

Qu'est-ce que j'ai fait pour essayer de comprendre où cela pourrait être faux, ajoutez une chaîne de requête à My FormsAuthentication.redirectTologin ("quoi que ce qui thusent-ce que ce qui tandis-quoi = waltefectionfcode"); ligne pour essayer de résoudre ceci. Le problème est que lorsque j'exécute le site dans IE, il n'a jamais ajouté à cette chaîne de requête, ce qui me conduit à croire qu'il ne frappe jamais aucune de ces lignes de "redirectologin".

Je sais qu'il authentifie, car le code qui met à jour le dernier horodatage de connexion dans la base de données uniquement des incendies si l'utilisateur est authentifié. Il semble que la ligne "RedirecTromLogin" sort et trouve la bonne entrée dans le web.config ... et cela pourrait réellement me rediriger, mais même si c'est le cas, il me rebondit toujours à l'écran de connexion. < / p>

J'ai traversé toutes les erreurs d'ID-10T vraiment basiques (heh) qui pourraient éventuellement causer ceci: paramètres de sécurité accrus, cookies désactivés, etc., mais je reçois les mêmes résultats sur plusieurs machines. < / p>

Je suis vraiment en quelque sorte de creuser quant à quoi vérifier. J'ai déjà eu deux autres ensembles d'yeux sur le code, mais ils ne pouvaient pas trouver de raison sur la raison pour laquelle cela se produisait. Si quelqu'un a des suggestions sur ce qui pourrait se passer, j'aimerais les entendre.

Merci!


11 commentaires

Quelle version d'IE utilisez-vous? Spécifiquement, si vous utilisez IE9, vous pouvez utiliser les outils de développement pour inspecter les en-têtes REQUISUST / Response. Sinon, vous aurez besoin de quelque chose comme Fiddler, mais je pense que c'est ce que vous voulez regarder.


L'utilisateur est-il toujours authentifié après avoir rebondi à la page de connexion?


@ CoDing Gorilla - Je vais essayer un trydler. Je sais que j'ai essayé cela dans IE8 et IE7 et ni non plus.


@Jamesjohnson - étrange comme ça sonne, il apparaît comme s'ils le sont.


@CODINGGORILLA - J'ai vérifié le violoniste. La seule grande différence que je remarque, c'est que je reçois un statut http 302 avec IE. Des pensées?


@ user967255 C'est probablement ce que vous devriez obtenir; Qu'est-ce que vous obtenez avec les autres navigateurs?


@Codinggorilla Je reçois une page 200 et la page par défaut que je veux ouvrir s'ouvre. J'essaye quelques autres choses. Par souci de quiconque lisait cela à l'avenir, je vais faire rapport sur leur succès ou leur échec.


Eh bien, j'en ai eu quelque part! J'ai supprimé " " de mon web.config et j'ai eu une chaîne de requête pour revenir à l'endroit où ça se passe mal! Maintenant, essayez de déterminer ce qui se passe.


Il semble que quelque part entre ma page de connexion et ma page par défaut de la session se perdent.


Dupliqué possible de L'authentification des formulaires échoue reconnaître comme connecté sous IE, c'est-à-dire quand souligner le nom d'hôte


@ user967255 Avez-vous pu résoudre ce problème, j'ai le même problème et ne pas avoir de solution.


3 Réponses :


4
votes

Je pense que c'est quelque chose à propos des cookies ..

Avez-vous défini l'attribut de domaine dans le web.config? xxx

élément de formulaire pour authentification (schéma de paramètres ASP.NET)


2 commentaires

Non, je n'ai pas, mais je peux donner un coup de feu.


Eh bien, j'ai donné cela un essai ... toujours pas de chance.



4
votes

Je sais que ce ticket est un peu vieux, mais apparemment, c'est-à-dire que vous ne pouvez pas définir l'authentification des formulaires sur un domaine avec un soulignement dans le nom. Donc, si le problème est apparu sur un serveur de développement qui était, dites dev_XP, alors c'est-à-dire que c'est-à-dire que vous ne pourrez pas définir un cookie d'authentification.

C'est ce qui s'est passé avec moi. Voici le lien: http://orwin.ca/2012/02/09/formsauthentication-setauthookie-not-working-in-ie-but-works-in-other-Browsers/

Ceci est le KB Article qui décrit le problème http://support.microsoft.com/kb/316112


1 commentaires

Vous n'avez aucune idée de combien de temps j'ai passé en dépannage de ce problème avec notre équipe de Dev. Il n'a été rendu que plus drôle de ma réticence initiale de configurer son site à l'aide d'un soulignement dans le sous-domaine.



-1
votes

J'ai le même problème, mais avec tous les autres navigateurs sauf chrome. L'étrange chose est que lorsque tous ces navigateurs sont essayés localement (dans le même ordinateur où le service est en cours d'exécution), tout fonctionne bien. Lorsque je me connecte à distance - seuls des œuvres chromées. Firefox et IE me redirige vers la page de connexion à chaque fois, bien que l'utilisateur soit authentifié - identique à la fois que vous êtes à la base de la connexion horodatamp Mise à jour. Mais j'ai également le serveur de développeur, situé dans l'autre réseau, la connexion à ce réseau prend moins de temps, et voici tous les trois navigateurs qui fonctionne correctement. Je pense donc que le problème est dans les paramètres IIS, ce qui pourrait être différent sur le serveur VRAI VS Developer, ou peut être un problème dans la redirection et le thread, ce qui crée une session. J'ai trouvé des autres i Sujet à propos de ce . C'est à propos de ASP WebForms cependant. Voir My Question sur Stakoverflow . Et s'il vous plaît, faites-moi savoir si vous résolvez ce problème!


0 commentaires