2008-08-19 7 views
2

Wir müssen das Menüsystem in unserer ASP.NET Hauptanwendung ersetzen. Natürlich betrachten wir die ASP.NET SiteMapProvider und Menu Kontrollen. Wir benötigen jedoch auch genügend Sicherheit, um zu verhindern, dass Benutzer URLs direkt eingeben, auf die sie keinen Zugriff haben sollten. Wir können dies tun, indem wir <location> Einträge in web.config setzen und sie einzeln sichern, aber das wird ein PITA sein, um über mehrere Webserver zu verwalten.LocationProvider

Gibt es eine Provider, die verwendet werden kann, um das Äquivalent der <location> Einträge zu bieten? Ich konnte keins finden, und es ist ein wenig frustrierend angesichts der Existenz der Klasse ConfigurationLocation.

Oder gibt es eine Konfigurationsoption, die wir in SiteMapProvider vermissen, die Benutzer daran hindert, zu URLs zu gelangen, die sie nicht sollten?

Antwort

1

Warum erstellen Sie keine Rechte & Profile, um zu verwalten, welche Seiten ein Benutzer sehen kann? Ich erstelle normalerweise eine Benutzerklasse, die die IPrincipal-Sicherheitsschnittstelle implementiert. Bei jeder Anfrage an Ihre Anwendung prüfen Sie die Rechte eines bestimmten Benutzers und geben die für diesen Benutzer zulässigen Knoten der SiteMap aus.

Verwandte Themen