Dépannage des problèmes d'authentification Windows (pas de challenge) dans IIS 7.5 ?

Je sais qu’il existe des milliers de rapports de personnes ayant du mal à faire fonctionner l’authentification Windows intégrée avec IIS, mais ils semblent tous mener à des pages web qui ne s’appliquent pas ou à des solutions que j’ai déjà essayées. J’ai déployé des dizaines de sites comme celui-ci auparavant, donc soit il y a quelque chose de bizarre avec le serveur/la configuration, soit je regarde cela depuis trop longtemps et ne vois pas l’évidence.

En résumé, tout fonctionne parfaitement sur ma machine locale, mais s’effondre sur le serveur de production, qui, autant que je puisse le voir, a la même configuration exacte.

Après analyse avec Fiddler, la différence principale est que le serveur distant n’envoie pas les en-têtes WWW-Authenticate au client.

La question se résume donc à : Pourquoi IIS n’envoie-t-il pas les en-têtes WWW-Authenticate alors que l’authentification Windows semble être installée, chargée et exclusivement activée ?

Problème résolu. J’ai finalement décidé de comparer la liste des modules côte à côte et il y en avait effectivement un manquant. Il s’avère qu’il y a deux modules d’authentification Windows :

Sur le serveur, le module géré WindowsAuthentication était présent, mais pas le module natif WindowsAuthenticationModule. Pourquoi il était configuré ainsi est un mystère, mais apparemment si le module natif n’est pas chargé, le module géré se chargera joyeusement et échouera silencieusement.

Donc, pour tout futur lecteur qui rencontrerait ce problème, assurez-vous d’avoir les deux modules chargés, car IIS ne vous avertira pas si l’un d’entre eux est manquant.