Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
Che utente fare per programma?
Ultimo Post 15 apr 2009 15.37 by Excentric (Admin). 3 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:537

--
14 feb 2009 19.35  
Come da oggetto, non so che utente fare SQL per il mio programma.....

dato che i dati di autenticazione vanno in file xml, non vorrei usare un utenza pericolosa per la sicurezza......

Cosa mi consigliate?

Grazie.

Posts:96

--
15 feb 2009 13.26  
I dati su File XML possono sempre essere crittografati in modo semplice usando le funzionalità del framework.

In ogni caso ad un utente SQL applicativo vanno sempre dati diritti minimi di accesso. Se gli utenti lavorano tutti su tutti i dati oserei dire che Datareader + Datawriter sia il ruolo adatto inoltre, solitamente io genero un Ruolo Database a cui assegno i permessi di esecuzione sulle stored procedure, un lavoro tedioso e lungo, ma che con una bellissima Stored procedure che trovate sul mio Blog, opera del mio collega Luca Del Mestre, potete assegnare velocemente.

Puoi anche creare il Ruolo Database, dare a quel ruolo permessi di lettura e scrittura sulle tabelle che ti interessano e assegnargli i diritti di esecuzione sulle SP e poi assegnarlo a tutti i tuoi utenti.

Oppure, potresti anche  fare un doppio accesso, quindi le credenziali utente hanno solo diritto di leggere la tabella di mappatura utenti e su questa metti le vere credenziali crittografate e fai accedere al DB con queste, così anche con un driver ODBC i tuoi utenti non fanno danni...

saluti
Sabrina

Posts:173

--
15 apr 2009 10.18  

Ciao Sabrina,

vorrei riprendere la questione per maggiori approfondimenti. Perché è necessario creare un utente con restrizioni per l'accesso al DB da programma? Non dovrebbe essere la logica del programma a gestire correttamente 'il non far danni' di un utente sui dati? Mi sto trovando con un applicativo in cui la gestione 'per utenti' di un database ci sta creando più problemi che altro, tralascio l'architettura dell'applicativo che abbiamo ereditato, ma ci stavamo chiedendo se piuttosto un oculata gestione da parte del codice non sia più 'comoda' di una assegnazione di diritti a utenti tramite l'applicativo. Ci troviamo con errori disseminati in modo "casuale" dovuti a non visibilità di alcuni oggetti del db e questa cosa ci sta esasperando non poco.

Grazie in anticipo e saluti

Federico


Posts:96

--
15 apr 2009 15.37  

L'utente con restrizioni per uso da programma fa parte delle best practices di SQL Server e comunque di chiunque amministri ed usi un DB, separare sempre l'utente con possibilità di modificare le strutture dall'utente che utilizza il database.

Mai dare agli utenti alcun permesso oltre quelli strettamente necessari.

Se poi mi chiedi perché fare una doppia connessione, è opportuno farlo soprattutto se fai accedere gli utenti con una mappatura via trusted connection, perché in questo modo, gli utenti avendo i permessi diretti potrebbero agganciarsi a SQL Server usando qualsiasi driver ODBC (vedi excel, access o simili) e pasticciare sui dati.

Per risolvere il problema che vi siete trovati voi io procederei in questo modo:
Creerei sul DB un utente di tipo SQL (con  username + password) a cui darei tutti i permessi di lettura e scrittura ed esecuzione, poi farei in modo che il software utilizzasse questo account per la connessione al database eliminando la connessione diretta degli utenti e risolvendo alla radice il problema.

Se necessario, potete ottenerlo modificando la parte di accesso del programma in modo tale che il programma setti la connessione diretta dopo aver fatto l'accesso utente ed eventuale controllo credenziali dello stesso.

saluti

Sabrina

 

Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Fritto misto - Classi di uso comune (parte 2)
Helper: Una classe per la Serializzazione XML delle classi dati
2007/10/21 | Autore: Sabrina Cosolo
SQL Server Nozioni base (parte 2)
Come creare un database in SQL Server Usando solo il codice SQL
2008/03/09 | Autore: Sabrina Cosolo
Visual Studio LightSwitch Beta 1 - Installazione
La procedura di installazione e le risorse sul web
2010/08/24 | Autore: Mario De Ghetto
Lavorare con gli Array
Il problema dello zaino
2007/07/29 | Autore: Alberto De Luca
Panoramica degli elementi base del WPF
Come iniziare a capire com'è fatto il WPF [Windows Presentation Foundation] (parte 2)
2007/07/30 | Autore: Patrizia Cosolo
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
Miniguida alla OOP con il .NET Framework- Parte I
Come prendere per mano un tipico programmatore VB6
2008/07/27 | Autore: Alberto De Luca
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Autore: Patrizia Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.