ASP.NET Forms Auth Autorisation d'accès à un fichier spécifique dans le sous-répertoire lorsque tous les autres doivent être refusés

Je vais avoir des problèmes en permettant un Rôle spécifique d'accès à une page spécifique dans un sous-répertoire.

Mon ASP.NET l'application dispose d'un répertoire ~/Formes/Administration qui a un accès limité. Il existe un fichier ~/Formes/Administration/par Défaut.aspx que je veux donner 1 rôle de l'utilisateur, l'accès à l', ainsi que le rôle Admin.

Dans ~/Formes/Administration, j'ai un site web.fichier de config qui ressemble à ceci:

   <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Administrator, User" />
            <deny users="*"/>
        </authorization>
    </system.web>

    <location path="Forms/Administration/Default.aspx">
        <system.web>
            <authorization>
                <allow roles="Administrator, User, AdditionalUser" />
            </authorization>
        </system.web>
    </location>

</configuration>

L'utilisateur Admin fonctionne très bien, mais AdditionalUser échoue toujours. J'ai essayé un certain nombre de choses - inscription de l'emplacement que

<location path="Forms/Administration/Default.aspx">

Et comme

<location path="~/Forms/Administration/Default.aspx">

Est le deny="*" à partir du premier générique de la règle en prenant précédent? J'ai essayé de changer

<deny users="*"/>

À

<deny users="?"/>

Mais qui finit par donner AdditionalUser accès à tout. Des Suggestions?

EDIT: j'ai essayé de mettre l'emplacement spécifique de permettre avant le générique de la règle de refus, dans le cas où l'ordre d'importance. Même problème.

Mise à JOUR: je suis clairement en manque de quelque chose ici: j'ai enlevé le nier * config, et à gauche seulement l'emplacement spécifique de la section. Alors, plutôt que de le laisser sur certains rôles, j'ai mis qu'on refuser à tout le monde (*). Cependant, il n'est pas nier moi quand j'ai de la connexion. J'ai même réduit la règle de ne pas être un fichier spécifique, mais s'appliquent à l'ensemble du répertoire, et il ne me refuse rien. Cependant, l'origine de la non-localisation des règles spécifiques pour faire le travail, donc je sais ce fichier de configuration est en cours de lecture.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <location path="Forms/Administration">
        <system.web>
            <authorization>
                <deny users="*" />
            </authorization>
        </system.web>
    </location>
</configuration>

source d'informationauteur Matt