Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Ruoli Database SQL
giovedì 26 gennaio 2006 - 15.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Angel83
Profilo
| Newbie
2
messaggi | Data Invio:
gio 26 gen 2006 - 15:05
Ciao Ragazzi! sono nuovo di questo sito, vorrei farvi una domanda stò realizzando un gestionale in Dot Net e uttilizzo un database SQL SERVER il problema è il login ovvero, non voglio fare il classico login da tabella con nome utente e password ma voglio uttlizare gil utenti del database! e se possibile riuscire anche a leggere i ruoli abbinati all'utente! sapete come iniziare!? Ciao e Grazie!!!!
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
gio 26 gen 2006 - 16:19
Per quanto riguarda il login devi solo costruire una connectionstring che contenga il codice del Login SQL (non il codice utente del database) e la password impostata per il suddetto Login sul server SQL (ovviamente il Login in questione deve essere stato assegnato al database che vai ad utilizzare.
Una volta connesso al DB puoi ricavare il nome dell'utente (con il quale il database riconosce il Login) ad esempio utilizzando SELECT USER_NAME()
andando avanti puoi avere altre informazioni relative allo User utilizzando la stored proc sp_helpuser
exec sp_helpuser 'username'.
Una considerazione (anche se ovviamente non conosco il contesto):
in certe situazioni può essere sconveniente che un certo account abbia direttamente delle permission sul database che in realtà è giusto appartengano all'applicazione e non tanto al singolo Login. Mi spiego, se con le credenziali che mi vengono fornite per lavorare con l'applicazione ho determinate permission sui dati vuol dire che se mi connetto al database, usando le stesse credenziali, con un altro strumento (es. MS Access) avrò le permission per fare ciò che posso fare con l'applicazione, ma senza che l'applicazione controlli il gioco e quindi corro il rischio di fare danni.
Un'idea in questi casi può essere quella di fornire allo User solo permission di connessione, tanto per validarne l'accesso, a questo punto l'applicativo può chiudere la connessione diretta dell'utente ed aprirne una (con un account "segreto" detentore delle permission operative sul db applicativo. In questo modo se l'utente in questione si connettesse con uno strumento esterno al database non potrebbe comunque fare nulla.
Ciao, Michele.
Angel83
Profilo
| Newbie
2
messaggi | Data Invio:
ven 27 gen 2006 - 10:19
Ciao inanzitutto grazie mille per la risposta! cmq nn riesco a gestire con lo Stored che mi hai indicato! sicuramente sto sbagliando qualcosa magatri con il tipo di connessione che uso ti posto un po' di codice!
Dim sqlCN As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(CStr(ConfigurationSettings.AppSettings("StringaDiConnessione")))
'Non possiamo usare la Query in quanto non potremo leggere la password in quanto cryptata
********** QUESTA QUERY NN LA USO PERCHE' OVIAMENTE NN POSSO LEGGERE LA PASSWORD ******
'Dim Query As String = "SELECT name, password FROM sysusers WHERE hasdbaccess=1 and issqluser=1 AND name = '" & txtutente.Text & "' AND password = '" & txtpassword.Text & "'"
Dim Query As String = "SELECT name, password FROM sysusers"
Dim dataADP_Utente As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(Query, sqlCN)
Dim dataSET_Utente As System.Data.DataSet = New System.Data.DataSet
Dove dovrei applicare cio' che mi hai indicato? prima dell'apertura della connessione?
Ciao e grazie mille!
Angel83
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
dom 29 gen 2006 - 13:28
Ciao, ho provato a mandarti un piccolo esempio di codice, ma ci sono stati dei problemi dipendenti, mi hanno spiegato, dagli attuali limiti alle dimensioni dei messaggi.
Mi hanno spiegato che fra pochi giorni sarà rilasciato un aggiornamento del forum e quindi se la cosa ti interessa ancora ti manderò un nuovo post con l'esempio in allegato.
Michele.
Torna su
Stanze Forum
Elenco Threads
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 !