none
Asp.Net MVC e profilazione degli utenti RRS feed

  • Domanda

  • Ciao a tutti,

    volevo sapere se c'è qualche framework che permetta la profilazione degli utenti in asp.net mvc. Per profilazione intendo non solo l'accesso ad un controller, una funzione o ad un'area, ma alla possibilità di dire se un utente può fare modifiche/inserimenti/cancellazione/visualizzazione in una determinata view senza dover ricorrere a fare una serie di if per controllare l'accesso dell'utente.

    Ad esempio se nell'edit in un controller metto qualcosa tipo authorizeedit (custom) magari il link di edit dalla pagina di view non viene visualizzato

    Grazie a tutti


    Se questo post risponde alla tua domanda ricorda di contrassegnarlo come risposta. In questo modo aiuterai altri utenti che hanno lo stesso problema a trovare la risposta più velocemente. Grazie.

    lunedì 3 giugno 2013 10:41

Risposte

Tutte le risposte

  • Quello che puoi fare è creare extension methods che renderizzano il contenuto specificato solo se un utente dispone di un determinato ruolo. Un approccio simile a quanto mostrato qui: http://stackoverflow.com/questions/928654/role-based-content-asp-net-mvc/929336#929336.

    Poi, sugli Action Methods del controller, dovrai usare l'attributo Authorize per assicurarti che effettivamente solo gli utenti autorizzati possano richiamare l'azione.


    Marco Minerva [MCPD]
    Blog: http://marcominerva.wordpress.com
    Twitter: @marcominerva

    lunedì 3 giugno 2013 15:01
    Postatore
  • In realtà però un utente protrebbe avere il ruolo per accedere ad una determinata area, ma magari non avere l'autorizzazione per effettuare delle modifiche, o magari può solo fare modifiche e non inserimenti o cancellazioni.

    Ad esempio, per la gestione del personale, magari un utente ha la possibilità di associare ad un impiegato le ore lavorate, ma non ha la possibilità di cancellarlo o di modificare i suoi dati anagrafici, i quali sono demandati all'amministratore.


    Se questo post risponde alla tua domanda ricorda di contrassegnarlo come risposta. In questo modo aiuterai altri utenti che hanno lo stesso problema a trovare la risposta più velocemente. Grazie.

    giovedì 6 giugno 2013 15:40
  • Se, come ti ho detto, all'interno di una View mostri determinati comandi o contenuti in base al ruolo dell'utente, ecco che hai risolto il problema.

    Nel tuo esempio, nella View che mostra i dati del personale, se l'utente è un amministratore avrà il comando per cancellare il record, mentre un utente normale no.


    Marco Minerva [MCPD]
    Blog: http://marcominerva.wordpress.com
    Twitter: @marcominerva

    • Contrassegnato come risposta bab76 lunedì 24 giugno 2013 09:27
    giovedì 6 giugno 2013 16:27
    Postatore