Domanda
Dobbiamo sostituire il sistema di menu nella nostra applicazione ASP.NET principale.Quindi, naturalmente, stiamo guardando ASP.NET SiteMapProvider
E Menu
controlli.Tuttavia, abbiamo anche bisogno di una sicurezza sufficiente per impedire agli utenti di inserire direttamente URL a cui non dovrebbero avere accesso.Possiamo farlo mettendo <location>
voci in web.config e proteggerli individualmente, ma sarà una PITA gestirli su più server Web.
C'è un Provider
che può essere utilizzato per fornire l'equivalente di <location>
inserimenti?Non sono riuscito a trovarne uno ed è un po' frustrante data l'esistenza del file Posizione di configurazione classe.
In alternativa, esiste un'opzione di configurazione che manca in SiteMapProvider che impedirà agli utenti di accedere a URL che non dovrebbero?
Soluzione
Perché non crei diritti e profili per gestire quali pagine può vedere un utente?Di solito creo una classe utente che implementa l'interfaccia di sicurezza IPrincipal.Ad ogni richiesta alla tua applicazione, controlli i diritti di un particolare utente e visualizzi i nodi della SiteMap consentiti per questo utente.