Con più domande
Gestione utenti e record

Discussione generale
-
Ciao a tutti,
sto cercando informazioni su internet ma con scarsi risultati.
Vorrei porre una domanda: é possibile, data una precisa struttura di n-tabelle, fare in modo che un utente possa
effettuare le operazioni di CRUD solo su record da lui inseriti.
Ovvero, sfruttare le medesime tabelle, senza cambiare la definizione delle stesse, ma avendo la possibilità
di "filtrare" a monte solo i record di cui ne é proprietario.
E possibile ?
Grazie
- Tipo modificato Fabrizio-GMVP, Moderator lunedì 4 febbraio 2013 17:53
Tutte le risposte
-
Struttura la tabella in modo che ogni record contenga una reference all'utente (tramite foreign key a una tabella "User"), filtrare in questo modo diventa semplice.
Matteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex -
Ringrazio per la risposta.
Purtroppo le tabelle sono già in essere e sono circa una trentina.
Oltre alla soluzione proposta, pensavo anche ad una unica tabella contenente alcuni campi quali:
- IDRecord, KF
- IDTabella, FK
- IDUser, FK
- CRUDParams, varchar.
Questo per non stravolgere completamente la struttura delle tabelle.
Pensavo che il motore SQL Server offrisse delle feature aggiuntive.
-
Questa era l'altra soluzione che volevo proporti, sì, se non puoi/vuoi modificare la struttura della tabella puoi fare così.
Se volessi farlo con SQL Server si potrebbe fare, ma IMHO non ha senso.
Per quanto riguarda l'ultima colonna ti consiglio di creare un flag booleano per ogni operazione.Matteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex -
-
Una soluzione che mi viene in mente, e che non applicherei mai, è avere gli stessi utenti applicativi come utenti del DB, autenticazione SQL o Windows (Windows naturalmente, per ridurre i security hole).
Quindi impostare la security di ogni record sull'utente del DB.Matteo Migliore
Bloghttp://blogs.ugidotnet.org/matteomigliore
Twitterhttp://twitter.com/matteomigliore
CodePlex