Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

tl;dr: Pourquoi ne

<allow users="?">

travail sur IIS Express, mais pas sur IIS?

Fond

J'ai un nouveau asp.net formulaires web du projet. Lors de l'exécution en local sur Windows 7 IIS Express, je peux bloquer "tous les utilisateurs" de l'accès au site par l'ajout d'un refuser * règle pour web.config:

web.config

<configuration>
   <system.web>
      <authorization>
         <deny users="*" />
      </authorization>
   </system.web>
</configuration>

cela m'amène à se voir refuser l'accès:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

Et ce qui fait sens.

Je peux refuser l'accès aux utilisateurs anonymes

Je le web.config, je peux bloquer l'accès à anonyme les utilisateurs, en utilisant la ? marqueur, plutôt que de la tous (*) marqueur:

      <authorization>
         <deny users="?" />
      </authorization>

Et parce que je ne suis pas authentifié, je vais à nouveau être 401 non autorisé:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

Et qui a du sens.

Autoriser les connexions anonymes

Je peux autoriser l'accès anonyme, par la modification de la deny dans le web.config pour allow:

<authorization>
  <allow users="?" />
</authorization>

Et maintenant, je suis amené à droite de la page d'accueil:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

et qui a du sens.

Mais ne fonctionne pas sur IIS

Les travaux ci-dessus sur IIS Express. Mais lorsque je publie à Windows Server 2012 R2, IIS 7.5, en essayant de allow anonyme (?) les utilisateurs ne fonctionne pas:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

Qui n'a pas de sens:

  • fonctionne sur IIS Express
  • échoue sur IIS 7.5

Essayer de permettre à chacun

Plutôt que:

  • permettant seulement les utilisateurs anonymes (?)
  • je peux essayer de permettre à tous les utilisateurs (*)

- je changer web.config à nouveau pour permettre à tout le monde (*):

<authorization>
  <allow users="*" />
</authorization>

Et sur place, je peut encore accéder au site:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

mais une fois que je publie de IIS 7.5, il ne parvient toujours pas:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

Ce qu'il se passe?

Je ne fais rien de mal. Donc que dois-je changer?

Au départ, j'ai créé un vide site web, et a commencé à ajouter des choses pour elle. Plus tard, j'ai besoin de créer une véritable web-site (les pages que les informations affichées, et les boutons de la souris), j'ai donc commencé avec un Vide Formulaires Web web-site.

Mon sentiment est que Owin ont tout cassé.

Néanmoins, ce qui se passe?

Solution

Je l'ai trouvé. Il y a certains paramètres sur un site web qui ne vont pas avec le web-site. Qui est, il ya des options de configuration sur un site web que vous ne pouvez pas configurer via web.config, ou tout autre fichier dans le site web du dossier. En particulier:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

Je ne sais pas où IIS magasins de l'utilisation de anonyme d'authentification. Mais sans authentification anonyme, IIS est incapable de se rendre compte qu'un utilisateur anonyme est anonyme.

Activation de l'authentification anonyme:

Comment faire pour autoriser l'accès anonyme au site web sur IIS 7.5?

causes IIS à réaliser que les utilisateurs anonymes sont anonymes.

Qui explique:

  • pourquoi il a travaillé sur IIS Expres
  • pourquoi il ne fonctionne pas sur IIS 7.5
  • pourquoi il ne fonctionne toujours pas quand les deux sites web ont exactement le même ensemble de fichiers de configuration

Ça n'explique pas pourquoi IIS ne traite pas les utilisateurs anonymes en tant qu'anonyme de quand la anonyme de l'authentification n'est pas activée; mais c'est une autre question pour un autre jour. Si vous avez lu en bas à ici, vous pouvez le copier-coller tout ce que je viens de dire, et d'obtenir de l'accepter. Sinon je vais devoir attendre deux jours pour répondre moi-même. Mieux que vous obtenez la rep.

InformationsquelleAutor Ian Boyd | 2016-05-19