Web.config permettre l'accès aux données de localisation pour un utilisateur spécifique

J'ai un serveur web qui permet aux utilisateurs de télécharger des fichiers qui sont spécifiques à chaque utilisateur. Pour être sûr que chaque utilisateur ne peut télécharger ses propres fichiers, ils doivent s'authentifier via l'Authentification de Base d'. Donc, pour chaque utilisateur il y a un windows-compte sur le serveur qui a les autorisations de lecture à l'utilisateur de dossier spécifique.

Maintenant je veux déplacer cette fonctionnalité à un autre serveur. Je ne veux pas créer des comptes windows pour les utilisateurs, mais toujours garder l'Authentification de Base. J'utilise donc le Personnalisé l'Authentification de Base HTTP Module en combinaison avec un Personnalisé MembershipProvider qui me permet de définir des utilisateurs dans le web.config.

L'authentification fonctionne très bien, mais après vous connectant avec jack ou jill (voir web.config) je suis en mesure d'accéder à deux endroits Dir1 et Dir2. C'est également le cas si j'en commentaire le <allow users="jack" /> partie à l'emplacement des balises.

Infos Supplémentaires:
J'ai créé un Défaut.aspx fichier et l'ajout d'un

<% Response.Write(HTTPContext.Current.User.Identity.Name) %>

qui renvoie le nom d'utilisateur correct en fonction de qui s'est connecté.

<% Response.Write(HTTPContext.Current.User.Identity.IsAuthenticated) %>

renvoie la valeur True.

Que dois-je faire seule jack est en mesure d'accéder (= de télécharger des fichiers à partir de) Dir1 et seulement jill est en mesure d'accéder (=de télécharger des fichiers à partir de) Dir2 mais pas dans l'autre sens?

EDIT: j'ai essayé d'ajouter web.les fichiers de configuration pour chaque sous-répertoires au lieu de l'emplacement des balises, comme mentionné par utkai - avec le même résultat. Chaque utilisateur peut accéder à n'importe quel répertoire.

Voici mon site Web.fichier de configuration:

<configuration>
<system.webServer>
    <modules>
        <add name="CustomBasicAuthentication" type="LeastPrivilege.CustomBasicAuthentication.CustomBasicAuthenticationModule, LeastPrivilege.CustomBasicAuthenticationModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=F20DC168DFD54966"/>
    </modules>

    <security>
        <authentication>
            <customBasicAuthentication enabled="true" realm="TEST" providerName="AspNetWebConfigMembershipProvider" cachingEnabled="true" cachingDuration="15" requireSSL="false"/>
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
    </security>
</system.webServer>

<system.web>
    <membership defaultProvider="AspNetWebConfigMembershipProvider">
        <providers>
            <add name="AspNetWebConfigMembershipProvider" type="LeastPrivilege.AspNetSecurity.Samples.WebConfigMembershipProvider, WebConfigMembershipProvider"/>
        </providers>
    </membership>

    <authentication mode="Forms">
        <forms>
            <credentials passwordFormat="Clear">
                <user name="jack" password="jack"/>
                <user name="jill" password="jill"/>
            </credentials>
        </forms>
    </authentication>

    <authorization>
        <deny users="?" />
    </authorization>
</system.web>

<location path="Dir1" allowOverride="false">
    <system.web>
        <authorization>
            <!-- <allow users="jack" /> -->
            <deny users="*" />
        </authorization> 
    </system.web>
</location>

<location path="Dir2"  allowOverride="false">
    <system.web>
        <authorization>
            <!-- <allow users="jill" /> -->
            <deny users="*" />
        </authorization> 
    </system.web>
</location>
</configuration>
J'ai besoin d'un peu de temps pour mon travail de recherche. Sera mise à jour bientôt.
je suis en mesure d'accéder à deux endroits Dir1 et Dir2 vous avez un Répertoire de Navigation activé dans votre Serveur Web IIS?
Non je n'ai pas de répertoire de navigation activé. Ce que je voulais dire, c'est que je peux voir/télécharger des fichiers qui sont contenus dans ces répertoires, quel que soit l'utilisateur connecté.
Avez-vous un lien vers download ou vous êtes directement en tapant le url ?
Je viens de taper quelque chose comme http://localhost/Dir1/jack.txt dans le addressbar des fins de test. Quelle différence cela fait-il?

OriginalL'auteur Philipp Grathwohl | 2012-04-03