Membership : gestione di gruppi di utenti ?

mercoledì 09 dicembre 2009 - 10.39

liuc Profilo | Junior Member

Ciao a tutti,
ho gestito gli utenti della mia applicazione col classico supporto fornito da asp.net (ruoli, utenti).
Ora, in seguito a modifiche delle specifiche, mi si chiede di gestire anche gruppi di utenti :
ad esempio attualmente ho il ruolo RILEVATORE con una serie di utenti associati, ora si vorrebbe avere gli utenti raggruppati in RILEVATORE_XXX, RILEVATORE_YYY, etc. affinchè i dati inseriti da un utente siano visibili solo ai membri del gruppo cui appartiene (non del ruolo!)

C'è un modo (il meno traumatico possibile) per gestire i gruppi con la membership di asp.net ? o devo aggiungere una nuova tabella e relative stored per gestirli da me?

Brainkiller Profilo | Guru

>C'è un modo (il meno traumatico possibile) per gestire i gruppi
>con la membership di asp.net ? o devo aggiungere una nuova tabella
>e relative stored per gestirli da me?

In ASP.NET il termine corretto è "Ruoli" non so se ti riferisci a questo.
Per esempio nel caso di un sito di contenuti ci potrebbe essere il ruolo Administrators che accede a tutto, Editors solo per chi scrive, e Users gli utenti registrati al sito.
Ti serve una cosa di questo tipo ?

L'autenticazione come l'hai gestita con un tuo custom Membership Provider ?
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

liuc Profilo | Junior Member

Ciao,
cerco di spiegarmi meglio :
io ho già gestito gli utenti e i ruoli per la mia applicazione che inizialmente era destinata ad un uso interno e quindi gestiva pochi utenti e tutti vedevano tutto (riferito ai record inseriti).
Ora l'applicazione deve essere aperta ad utenti esterni e si vuole raggrupparli o, comunque, trovare un modo affinchè i membri di un gruppo (non di un ruolo) vedano i record ad essi relativi (quindi quelli inseriti da un utente e dagli altri appartenenti al medesimo gruppo dell'utente).

Nel mio caso specifico tutti questi utenti apparterranno al ruolo OperatoreEsterno all'interno del quale ho bisogno di discernere i vari gruppi.

Detto questo, la mia prima idea era stata quella di aggiungere ,se possibile, la gestione dei gruppi : gli utenti continuano ad essere associati ai ruoli nel modo classico ed in più sono aggregati tra loro.

Su altri forum mi hanno sugerito queste due strade alternative :

a) Aggiungere nuovi ruoli anzichè gruppi e salvare l'idgruppo nel record inseriti nel database;
b) Specificare , al momento della creazione dell'utente, un diverso nome per Membership.ApplicationName ed avere quindi utenti appartenenti ad applicazioni differenti.

La soluzione (a) mi piace poco dal momento che non so a priori quanti ruoli dovrò gestire (ma potenzialmente arriverei a gestirne un centinaio) e siccome la sicurezza la gestisco con i web.config a livello di singole cartelle, ogni volta che aggiungo un ruolo dovrei andare a modificare i vari web.config e associare il nuovo ruolo alle regole di accesso definite.

Sto cominciando solo adesso a provare la soluzione (b), che tra le due mi ispira di più.

Che ne pensate?
Avete altri suggerimenti?

Brainkiller Profilo | Guru

>Nel mio caso specifico tutti questi utenti apparterranno al ruolo
>OperatoreEsterno all'interno del quale ho bisogno di discernere
>i vari gruppi.

Ho capito praticamente hai un doppio livello, Ruoli e gruppi, o banalmente gruppo di gruppi.

>a) Aggiungere nuovi ruoli anzichè gruppi e salvare l'idgruppo
>nel record inseriti nel database;
>b) Specificare , al momento della creazione dell'utente, un diverso
>nome per Membership.ApplicationName ed avere quindi utenti appartenenti
>ad applicazioni differenti.

>La soluzione (a) mi piace poco dal momento che non so a priori

A me francamente non piace la b). Mi pare di aver capito che la b) fa uso di più membership provider sbaglio ?
La a) mi piace ma non mi piace il dover andare a scrivere nel db l'id gruppo perchè prevede la rivistazione dell'architettura della app oltre chè del DB. Però se necessario si fa.

>quanti ruoli dovrò gestire (ma potenzialmente arriverei a gestirne
>un centinaio) e siccome la sicurezza la gestisco con i web.config
>a livello di singole cartelle, ogni volta che aggiungo un ruolo
>dovrei andare a modificare i vari web.config e associare il nuovo
>ruolo alle regole di accesso definite.

Appunto vedi che te lo sei già detto da solo che la b) non è un granchè.

>Sto cominciando solo adesso a provare la soluzione (b), che tra
>le due mi ispira di più.

Aggiungo inoltre che per la a) i ruoli sarebbero tutti allo stesso livello anche se tu puoi raggrupparli su livelli diversi logicamente, macro gruppo e sottogruppo o ruoli/gruppi vedi tu.
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5