Comment pouvez-vous contrôler l'access à un site Web QA / Test sur Internet sur IIS7.5?

J'ai un site Web .Net avec des zones publiques et privées. Les sections privées sont protégées par l'authentification des formulaires .Net. Tout cela fonctionne bien. Le site s'exécute en mode embedded IIS.

Ma question est liée à mon site QA / Test, nous poussons les changements avant de vivre. Je ne veux pas que le public général ou googlebot ait access au site QA. Même les portions qui n'auraient généralement pas besoin d'authentification pour accéder.

Le site QA doit être accessible sur Internet sauvage parce que nous voulons que les gens d'autres entresockets, etc., puissent voir et tester les changements avant leur mise en service. Donc, j'ai eu l'idée de mettre un nom d'user / mot de passe de gardiennage devant tout le site. Une fois que les gens passent cette porte, ils devraient avoir access aux zones «publiques» du site. L'access à la zone membre nécessiterait toujours qu'ils passent par les authentifications des formulaires comme d'habitude.

J'ai essayé de désactiver l'authentification anonyme et d'autoriser l'authentification de base, mais j'ai l'erreur de ne pouvoir utiliser simultanément 401 authentifications basées sur les défis et les redirections. Malheureusement, c'est exactement ce que je veux.

Je pourrais probablement écrire un HttpModule personnalisé, mais je préfère le faire avec les parameters IIS standard. Quelqu'un a-t-il des idées sur la façon de résoudre ce problème?

IIS 7.x ne prend pas en charge les authentifications des formulaires auth et Windows en même time. Un peu étrange, je sais.

Que diriez-vous de faire tourner les formulaires auth pour l'set du site, y compris les espaces publics? Vous pouvez donner une page de connection différente expliquant pourquoi ils doivent se connecter à tout.

Ou, en utilisant la réécriture d'URL, vous pouvez avoir une list d'adresses IP approuvées et autoriser uniquement la saisie si elle provient d'une adresse IP valide.