Dans mon web.config j'ai configuré un SiteMapProvider avec securityTrimmingEnabled="true"
et sur ma page principale est un contrôle asp:Menu
lié à un asp:SiteMapDataSource
. En outre, j'ai configuré l'accès restreint à toutes les pages dans un sous-dossier "Admin" (en utilisant un autre web.config dans ce sous-dossier).Le découpage de sécurité fonctionne-t-il avec le routage Web Forms?
Si je mets un siteMapNode dans Web.sitemap
...
<siteMapNode url="~/Admin/Default.aspx" title="Administration" description="" >
... seuls les utilisateurs rôle "Admin" aura l'élément de menu relatif à cette siteMapNode. Donc, cela fonctionne bien et comme prévu.
Maintenant, j'ai défini une route URL dans Global.asax pour cartographier le fichier physique vers une nouvelle URL:
System.Web.Routing.RouteTable.Routes.MapPageRoute("AdminHomeRoute",
"Administration/Home", "~/Admin/Default.aspx");
Mais quand j'utilise cette route-URL dans le fichier SiteMap ...
<siteMapNode url="Administration/Home" title="Administration" description="" >
... il semble que le découpage de sécurité ne fonctionne pas: L'élément de menu est visible pour tous les utilisateurs. (L'accès à la page est toujours limité, donc la sélection de l'élément de menu par les utilisateurs non-administrateurs ne navigue pas vers la page restreinte.)
Question: Y a-t-il des paramètres que j'ai manqués jusqu'ici? avec le routage d'URL dans les formulaires Web ASP.NET 4.0? Est-ce que j'ai fait quelque chose de mal? Y a-t-il des solutions de rechange?
Nous vous remercions de votre aide!
Merci, bonne solution! – Slauma