401 Accès refusé pour les utilisateurs anonymes

Cet article documente un problème facilement rencontré mais difficilement diagnostiqué par rapport à la configuration de SharePoint pour des visiteurs anonymes.

Le contexte
Le problème se manifeste sous la forme de prompts d'authentification présentés à des utilisateurs souhaitant naviguer de façon anonyme sur le site.

Les prompts d'authentification sont présentés lors du premier accès à une ressource. Si l'utilisateur n'entre pas un comtpe d'utilisateur et mot de passe valide, il obtient une erreur HTTP 401. Par contre, les accès subséquents fonctionnent tel qu'attendu, que l'utilisateur se soit authentifié ou non. Si le outputcaching est activé, les prompts d'authetification surviennent à des moments qui semblent encore plus "random".

Le site a été préalablement configuré dans SharePoint pour accorder des accès anonymes. À preuve, certaines des requêtes fonctionnent correctement.

Le code ou autres ressources personnalisées fonctionnent correctement. À preuve, certaines des requêtes fonctionnent correctement.

La solution

Ce comportement étrange semble être relié à un "bug" dans la configuration par défaut d'une application Web SharePoint.

Dans le fichier web.config, il suffit de modifier la ligne :



pour



et le problème disparaîtra !

Références

 * http://mossformsfeature.codeplex.com/Thread/View.aspx?ThreadId=9702 (la solution présentée ici est discutée brièvement à la fin du thread)
 * http://support.microsoft.com/kb/953459/en-us (article MSDN expliquant que compilation batch="true" n'est pas supporté)