Web.sitemap

sabato 05 maggio 2012 - 08.44
Tag Elenco Tags  VB.NET  |  .NET 4.0

alexmed Profilo | Guru

Ciao
Settando correttamente il file Web.sitemap ed il Web.config si riescono a visualizzare determinate voci del menu solo a chi è autenticato.
Ma se io volessi nascondere delle voci a chi è autenticato?
C'è un modo?

Grazie

alexmed

martinez Profilo | Senior Member

Ciao!

L'unico modo che conosco per risolvere la faccenda è quello di abilitare i ruoli.
Ad esempio se creo i seguenti ruoli: Utenti, Amministratori e SuperVisori e nel mio web.config setto le seguenti location:
<location path="Riservata"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> <location path="Riservata/Admins"> <system.web> <authorization> <allow roles="Admins"/> <deny users="*"/> </authorization> </system.web> </location> <location path="Riservata/SuperVisor"> <system.web> <authorization> <allow roles="SuperVisor"/> <deny users="*"/> </authorization> </system.web> </location>

ottengo la seguente tipologia di permessi:
cartella Riservata visibile a tutti gli utenti loggati e di tutti i ruoli
cartella Riservata\Admins disponibile solo per gli amministratori
cartella Riservata\Supervisor dedicata ai supervisori ....

Ovviamente se devo abilitare i supervisori all'utilizzo della cartella amministratori gli utenti SuperVisor dovranno appartenere anche al ruolo di amministratori. Una semplice scala gerarchica.

la sitemap con questi accorgimenti abiliterà automaticamente la visualizzazione delle varie cartelle e dei relativi files in base ai ruoli dell'utente loggato.

Spero di aver inquadrato il problema.

alexmed Profilo | Guru

Ciao martinez e grazie.
Fermo restando che ho già settato come mi hai spiegato per la gestione dei ruoli.
Ti faccio subito il caso pratico.
Nel Web.sitemap ho la voce di menu "Login" e la voce "Amministra".
Se non sono autenticato devo vedere Login e non Amministra (e fin qui ci sono); viceversa se sono autenticato non devo vedere Login ma "Amministra".
Come far vedere Amministra ci sono, non riesco a nascondere Login.

alexmed

martinez Profilo | Senior Member

>Ciao martinez e grazie.

Ciao Alex, prego di nulla :)

>Fermo restando che ho già settato come mi hai spiegato per la
>gestione dei ruoli.
>Ti faccio subito il caso pratico.
>Nel Web.sitemap ho la voce di menu "Login" e la voce "Amministra".
>Se non sono autenticato devo vedere Login e non Amministra (e
>fin qui ci sono); viceversa se sono autenticato non devo vedere
>Login ma "Amministra".
>Come far vedere Amministra ci sono, non riesco a nascondere Login.
>

Io purtroppo utilizzo un approccio diverso dal tuo: Non inserisco nella sitemap i link ad accedi e nemmeno ad Amministra. Uso la sitempa solo ed esclusivamente per le pagine "attive dell'area protetta". Mentre per la gestione di Log in - Log out ed eventualmente per reindirizzare all'area amministrativa utilizzo un semplice controllo LoginView in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Spero di esserti stato utile ...
Antonio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5