squizzi ha scritto:
...
1) Sicuramente nell'applicazione ci sarà bisogno dell'autenticazione, ma non penso della registrazione perché dai primi due punti capisco che ci sarà un admin che gestisce tutto.
2) La parte della gestione dei permessi non mi è molto chiara, non capisco se le funzionalità legate ai permessi sono le tre successive, oppure le devo inventare.
3) Nel caso in cui le tre funzionalità siano quelle elencate, sarebbe corretto gestire i ruoli come amministratore, utente non autenticato, utente autenticato e per i permessi avrò utente standard e fornitore?
1) NO: non si dice nulla riguardo l'autenticazione, QUINDI non serve
3) NO: i ruoli sono SOLO 2: "utente" e "fornitore". Non si parla di autenticazione, QUINDI non servono i ruoli "amministratore", "utente autenticato" e "utente non autenticato". NON c'e' l'autenticazione!!
2) i permessi hanno a che fare con i "documenti" e con la "azioni" che possono essere fatte sui documenti. Ad esempio
a) inserire un documento: OVVIAMENTE un fornitore puoi inserire un documento, ma NON un utente
b) cancellare un documento: OVVIAMENTE un fornitore puo' cancellare un documento, ma NON un utente
c) pubblicazione/depubblicazione di un documento: si puo' immaginare che un documento abbia lo stato:"privato", "pubblico" che OVVIAMENTE puo' essere cambiato dal fornitore ma NON dall'utente
d) visualizzaione di un documento: OVVIAMENTE un fornitore PUO' vedere TUTTI i suoi documenti, MA potrebbe vedere o meno vedere i documenti PUBBLICI di altri fornitori.
Allo stesso modo, un cliente puo' o meno vedere i documenti pubblici di un determinato fornitore.
Si puo' fare cosi': ogni utente appartire ad una o piu' categorie e puo' vedere SOLO i documenti pubblici delle categorie a cui appartiene, ed un fornitore permette la visibilita' di SPECIFICI documenti in SPECIFICHE categorie.
Se ci pensi, ma a questo punto non serve perche' ci ho pensato io, un "fornitore" puo' essere un utente che PUO' inserire/cancellare/pubblicare/depubblicare documenti SOLO nelle categorie assegnate. Inoltre il fornitore puo' vedere TUTTI i suoi documenti, mentre un utente puo' vedere SOLO i documenti pubblici.
Nota che "modificare" un documento puo' essere modellato ANCHE con una cancellazione ed un inserimento della nuova versione. Quinid la modifica non ti serve
L'amministratore ha SOLO il compito di configurare "utenti" e "fornitori", o se vuoi, "membri", "categorie" e "permessi". Non serve che sia un "ruolo", perche' il "ruolo" serve per modellare utenti e fornitori, mentre l'amministratore non e' NE un utente, NE un fornitore, perche' non ha nessuna necessita' di avere a che fare con i documenti.
Per semplificare, puoi ragionare in termini di un'unica categoria, che coincide con il fornitore, tutti i documenti sono pubblici, MA un utente puo' vedere i documenti SOLTANTO dei fornitore per il quale ha il permesso.