2010-06-29 1 views
5

Dans mon application asp.net webforms, j'utilise l'authentification par formulaires simple et simple connectée à ma base de données (avec le fournisseur d'appartenances standard). Tout fonctionne bien, je peux me connecter, me déconnecter, obtenir des rôles, etc ...L'authentification par formulaires ne parvient pas à être reconnue sous IE lorsque le caractère de soulignement est

Cependant, après avoir déployé mon site sur le serveur intranet IIS j'ai remarqué que IE ne peut pas être authentifié. Le processus d'authentification proprement dit pour la connexion fonctionne (comme il vous dit quand votre mot de passe/nom d'utilisateur est faux) mais une fois l'authentification terminée, il déclare que vous n'êtes pas connecté.

Ceci est uniquement sur mon environnement IIS déployé localement dans mon environnement VS tout fonctionne très bien dans IE. Alors que dans le IIS déployé Chrome et Firefox fonctionnent très bien.

La seule chose que je peux dire est qu'il semble que IE n'obtienne pas ou ne sauvegarde pas le cookie d'authentification. Ce n'est pas lié au paramétrage de IE car j'ai configuré IE8 pour accepter tous les cookies, et j'ai testé sur la machine IE8 d'un collègue et IE7 d'un autre avec les mêmes résultats.

Mon web.config utilise les paramètres suivants:

<authentication mode="Forms" > 
    <forms cookieless="UseCookies" /> 
</authentication> 

Est-ce que quelqu'un au moins la moindre idée de l'endroit où je regarderais pour commencer le débogage ce problème?

Merci,


Modifier: Je suis obligé de résoudre ce problème maintenant, puisque mon serveur web ne fonctionne pas bien avec l'authentification URL.

J'ai utilisé le fiddler et ai compris que IIS7 ne m'envoie pas de cookies quand je suis dans IE. Aucun cookie n'est dans les en-têtes. Les cookies sont correctement dans les en-têtes lors de la diffusion du site sur les navigateurs Mozilla et Chrome. Je suis à une perte pour expliquer pourquoi .....


Edit2: Comme une note de côté, lorsque je me connecte sur le serveur Web directement, si je vais à Http://localhost/ IIS envoie IE les petits fours, mais si je vais à http://qa_build/ (c'est le nom de l'ordinateur pour le serveur) IIS n'enverra pas les cookies à IE.

+0

Avez-vous essayé un autre navigateur? quels sont les résultats? quels cookies sont définis par ce domaine? –

Répondre

12

Enfin trouvé la réponse. Il s'avère que si le domaine a un caractère de soulignement, Internet Explorer ne va pas stocker les cookies. Changer le nom de l'ordinateur en qabuild l'a corrigé.

http://support.microsoft.com/kb/316112

+1

C'est un peu bizarre, quelqu'un connaît l'explication de Microsoft Side. –

+0

Me rappelle les problèmes que j'avais avec l'exportation d'Audacity vers les fichiers par noms d'étiquettes. L'une des étiquettes s'appelait "con", un nom de fichier illégal. – dgw

+0

Je viens de passer 6 heures à arracher mes cheveux sur ce problème !!!! Merci merci merci beaucoup d'avoir posté ça. – DanB

0

Y a-t-il un autre bouton de soumission sur la page qui n'est pas lié à la connexion? J'ai rencontré un problème similaire lorsque j'essayais de me connecter une fois, et j'ai découvert qu'il ne se produisait que lorsque j'appuyais sur Entrée au lieu de cliquer sur le bouton de connexion, et que cela était dû à un autre bouton. Il s'authentifierait, mais ne me donnerait aucun rôle utilisateur.

+0

Non, ce n'est pas ça. Ma page login.aspx n'a qu'un seul bouton et ne dispose que d'un contrôle de connexion (avec aucune modification du code ou du code de contrôle de connexion) – KallDrexx

Questions connexes