2008-08-19 3 views
2

Nous devons remplacer le système de menu dans notre application ASP.NET principale. Nous examinons donc naturellement les contrôles ASP.NET SiteMapProvider et Menu. Cependant, nous avons également besoin de suffisamment de sécurité pour empêcher les utilisateurs de saisir directement les URL auxquelles ils ne devraient pas avoir accès. Nous pouvons le faire en mettant <location> entrées dans web.config et en les sécurisant individuellement mais ça va être un PITA à gérer sur plusieurs serveurs web.LocationProvider

Y a-t-il un Provider qui peut être utilisé pour fournir l'équivalent des entrées <location>? Je n'ai pas réussi à en trouver un, et c'est un peu frustrant étant donné l'existence de la classe ConfigurationLocation.

Vous avez également une option de configuration manquante dans SiteMapProvider qui empêchera les utilisateurs d'accéder aux URL qu'ils ne devraient pas avoir?

Répondre

1

Pourquoi ne créez-vous pas de droits & profils pour gérer les pages qu'un utilisateur peut voir? Je crée généralement une classe d'utilisateurs qui implémente l'interface de sécurité IPrincipal. À chaque requête adressée à votre application, vous vérifiez les droits d'un utilisateur particulier et affichez les nœuds SiteMap autorisés pour cet utilisateur.