2010-07-23 4 views
0

J'ai refusé l'accès anonyme à l'ensemble de l'application en utilisant le réglage Web.Config suivant:ASP.Net - Comment déterminer si la demande Web est une ressource qui permet aux utilisateurs anonymes ou non

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

Ensuite, pour divers chemins, j'ai permis l'accès anonyme en utilisant les paramètres Web.Config comme celui-ci:

<location path="Home/ShowLogin"> 
<system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
</system.web> 

Je voudrais être en mesure de déterminer au cours du traitement d'un reque donné st si l'URL demandée correspond à un chemin qui autorise les utilisateurs anonymes ou si la requête concerne un chemin qui refuse les utilisateurs anonymes.

Quelle est la manière la plus élégante de déterminer cela?

Répondre

1

Vous pouvez utiliser le code suivant pour obtenir la collection d'éléments de localisation:

Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); 
foreach (ConfigurationLocation location in config.Locations) 
{ 
    // work with location object 
} 
+0

Very nice! Creuser à travers l'API de System.Configuration. Je suis surpris de voir combien il y a ... et combien j'en ai utilisé. – bzarah

Questions connexes