Problema connection string SQL Server 2005 senza password "esplicita"

sabato 12 dicembre 2009 - 09.46

petronilla Profilo | Newbie

Salve a tutti,
vorrei poter creare una connessione ad un DB Sql Server 2005 Senza specificare la password d'accesso nella connection string.

Ossia: l'utente immette user e password, e sarà poi compito di sql server di controllare se la password è corretta per quell'utente specifico (anche perchè le password non sono memorizzate in una tabella, sono "proprie" di sql).

grazie!

lbenaglia Profilo | Guru

>vorrei poter creare una connessione ad un DB Sql Server 2005
>Senza specificare la password d'accesso nella connection string.
>
>Ossia: l'utente immette user e password, e sarà poi compito di
>sql server di controllare se la password è corretta per quell'utente
>specifico (anche perchè le password non sono memorizzate in una
>tabella, sono "proprie" di sql).

Se non specifichi una login SQL Server seguita dalla relativa pwd come puoi autenticarti all'istanza?
Se la tua LAN ha un domain controller e l'applicazione stessa è in LAN puoi utilizzare la Windows Authentication per autenticarti all'istanza, sfruttando il token Kerberos senza specificare alcuna credenziale di accesso nella connection string.

>grazie!
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

petronilla Profilo | Newbie

ok, ammetto di essermi spiegata STRA-male!

dunque:
sto realizzando un portale dove un utente effettua il login per poter accedere ai dati (sensibili) dei dipendenti.
il vecchio programmatore aveva realizzato in ASP il portale e tramite questo codice gestiva i login

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come si puo vedere UID e PWD sono parametri, ed è direttamente SQL che si occupa di verificare se l'utente ha diritto di accesso al DB o no.
I miei utenti sono Native User di SQL SERVER 2005.

Spero di essere riuscita a spiegare meglio il mio problema.

Grazie ancora

lbenaglia Profilo | Guru

>Come si puo vedere UID e PWD sono parametri, ed è direttamente
>SQL che si occupa di verificare se l'utente ha diritto di accesso
>al DB o no.
Semplicemente si sta cercando di autenticarsi all'istanza. Se la login e la pwd sono errate, l'autenticazione non andrà a buon fine.

>I miei utenti sono Native User di SQL SERVER 2005.
>
>Spero di essere riuscita a spiegare meglio il mio problema.
Qual è il problema?
Per autenticarti utilizzando la SQL Server Authentication dovrai specificare nella connection string una login ed una password validi, mentre se utilizzi la Windows Authentication dovrà esistere una login mappata ad un utente Windows che matcha il token Kerberos che l'applicazione sta impersonando.

>Grazie ancora
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

petronilla Profilo | Newbie

>Qual è il problema?
>Per autenticarti utilizzando la SQL Server Authentication dovrai
>specificare nella connection string una login ed una password validi,
il problema è che non so come mettere i parametri nella connection string, a run time per intenderci!
(sono dura lo so... con me serve tantaa pazienza )

lbenaglia Profilo | Guru

>il problema è che non so come mettere i parametri nella connection
>string, a run time per intenderci!
Qui troverai un sacco di esempi:
http://www.connectionstrings.com/sql-server-2005

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

petronilla Profilo | Newbie

Ho "studiato" il tuo link ma l'unica cosa che potrebbe fare al caso mio è

Dim cn as ADODB.Connection Set cn = New ADODB.Connection With cn .Provider = "SQLOLEDB" .Properties("Prompt") = adPromptComplete .ConnectionString = "DATA SOURCE=<server name>;" .Open End With

ma è per SQL Native Client 9.0 OLE DB provider!

Per il .NET Framework Data Provider for SQL Server non c'è nulla di simile.
nei vari forum mi hanno consigliato di usare:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

In questo modo costruisco la connection string a run time MA ottengo questo errore:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Se invece sostituisco builder.Item("User ID") = id con builder.Item("UserID") = id (dato che la keyword per lo username è questa) ottengo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Che sbaglio?

Edit: Ho risolto da sola . Grazie lo stesso
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