web-dev-qa-db-fra.com

Comment faire en sorte que Windows Server 2012 me demande des informations d'identification lorsque je vais dans un sous-dossier restreint de mon site?

Le groupe "Utilisateurs" dispose d'un accès en lecture à l'intégralité de mon site Web afin que le public puisse naviguer sur mon site. Maintenant, j'ai créé un sous-dossier "admin" auquel je ne souhaite pas que le public ait accès.

Ainsi, dans les paramètres de sécurité du dossier, j'ai tout spécifiquement refusé au groupe "Utilisateurs", et maintenant, lorsque je navigue sur www.monsite.com/admin, j'obtiens une erreur "401 non autorisé".

Je suppose que c'est plutôt bon, mais comment puis-je le demander à Invite-moi pour obtenir les informations d'identification afin que je puisse me connecter et voir les pages de ce dossier?

Dans Server 2003, cela fonctionnait automatiquement, mais quelque chose a changé en 2012. C'est quoi le truc?

3
Vincent

Dans IIS, activez l'authentification de base.

S'il ne figure pas dans la liste, accédez au Gestionnaire de serveur et installez l'authentification de base via "Ajouter des rôles et des fonctionnalités". (il est répertorié sous "Serveur Web (IIS)/Serveur Web/Sécurité/Authentification de base").

Windows Server 2012

Créez ensuite un fichier web.config dans le dossier que vous souhaitez sécuriser avec le code suivant:

<configuration>    
  <system.webServer>
    <security>
        <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" />
        </authentication>
    </security>
  </system.webServer>
</configuration>

Windows Server 2016

Je veux juste ajouter, pour le bénéfice de ceux qui utilisent Server 2016. Cela fonctionne différemment dans Windows Server 2016 (Dieu nous préserve qu'ils gardent les mêmes choses d'une version à l'autre).

Dans Server 2016, vous souhaitez réellement supprimer ces deux paramètres d'authentification de web.config dans le dossier.

<configuration>
     <system.webServer>
        <security>
        <authentication>

        </authentication>
        </security>
    </system.webServer>
</configuration>

Et supprimez également l'utilisateur "Utilisateurs" de l'onglet Sécurité de ce dossier. Cela se traduira par une invite d'identification.

0
Vincent