Principale utente con più risposte
SQL 2008 EXPRESS - Impossibile accedere da un dominio non trusted

Domanda
-
Ecco l'errore preciso:
Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.ho configurato il server SQL per poter accederci da la macchina di sviluppo in LAN.
Da Management Studio riesco ad accedere, ma dalla mia applicazione mi da l'errore indicato.Mi sapete dire cosa devo controllare? grazie
Programamtore ASP.NET
http://glucolo.wordpress.com
Risposte
-
Grazie mille per la dettagliata risposta.
In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)
Ora la stringa di connessione è questa:
Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS; Initial Catalog=nomeDelDB; Integrated Security=False; Persist Security Info=False; User ID=sa; Password=xxxxxxx; Connect Timeout=120; Trusted_Connection=yes
come datasource ho usato sia il nome del server, che il suo IP
come utente ho usato sia "sa" che uno specifico utente per quel databaseNiente, l'errore è sempre lo stesso:
Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.
Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
Forse sono queste le domande che ci daranno la risposta?Aiutatemi a capire
Programamtore ASP.NET
http://glucolo.wordpress.com
Mi sono dimenticato di mettere in evidenza una cosa: nell'esempio di connection string che ho postato avevo rimosso anche quel "Trusted_Security=yes" che dovrebbe essere la causa del tuo problema, dato che lo vedo ancora presente. Se guardi a questo link vedrai che ha lo stesso scopo di Integrated Security.Prova a rimuoverlo e vedi se così si risolve.
Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
- Contrassegnato come risposta Glauco Cucchiar martedì 17 gennaio 2012 10:39
Tutte le risposte
-
si, un server con installato SQL 2008 Express
un computer in LAN con SQL 2008 R2 Express
Dal management studio sul client mi collego senza problemi al server, dall'applicazione sul client no. Ecco la ConnString:
Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=True;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120;Trusted_Connection=yes
Programamtore ASP.NET
http://glucolo.wordpress.com- Modificato Glauco Cucchiar lunedì 16 gennaio 2012 16:40
-
si, un server con installato SQL 2008 Express
un computer in LAN con SQL 2008 R2 Express
Dal management studio sul client mi collego senza problemi al server, dall'applicazione sul client no. Ecco la ConnString:
Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=True;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120;Trusted_Connection=yes
Programamtore ASP.NET
http://glucolo.wordpress.com
Sul client e sul server che sistemi operativi hai installato? Quando dal client accedi da Management Studio al server, che tipo di autenticazione usi: Autenticazione integrata o Autenticazione di SQL Server?Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
-
sul server c'è win server 2003, il client è un win 7
accedo con utente sql (sa)
Programamtore ASP.NET
http://glucolo.wordpress.com
SQL Server accetta due tipi di autenticazione: quella integrata e quella classica di tipo SQL Server. Nella prima utilizzi le credenziali del tuo utente corrente di Windows per accedere al server, mentre nella seconda utilizzi la classica combinazione username/password. Ovviamente, se possibile, è preferibile utlizzare l'autenticazione integrata, in quanto offre maggiore sicurezza. E' possibile configurare quale tipo di connessioni l'istanza debba accettare, se l'integrata, quella classica, o entrambe (in quest'ultimo caso si parla di mixed mode). Maggiori info le puoi trovare qui: http://msdn.microsoft.com/it-it/library/ms144284.aspx.Nel tuo caso particolare, quando accedi da Management Studio stai utilizzando la SQL Authentication, mentre da client stai cercando di utilizzare quella integrata (Integrated Security=true). Se non sei in dominio o non puoi/vuoi abilitare l'autenticazione di tipo integrato devi per forza di cose cambiare la tua stringa di connessione in questo modo, dove lo User ID che utilizzerai sarà un utente SQL Server:
Data Source=SERVER\SQLEXPRESS;Initial Catalog=nomeDelDB;Integrated Security=False;Persist Security Info=False;User ID=xxxx;Password=xxxx;Connect Timeout=120
Ovviamente, in questo caso, sarebbe opportuno creare un utente SQL ad-hoc per la connessione da applicativo e nascondere informazioni sensibili quale la password di connessione crittografando il file di configurazione, come descritto in queste guidelines: http://msdn.microsoft.com/it-it/library/89211k9b(v=VS.100).aspx
Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
-
Grazie mille per la dettagliata risposta.
confermo che l'autenticazione è mixed mode, a parte la criptazione dei dati, ma la connessione avviene tramite utente sql
In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)
Ora la stringa di connessione è questa:
Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS; Initial Catalog=nomeDelDB; Integrated Security=False; Persist Security Info=False; User ID=sa; Password=xxxxxxx; Connect Timeout=120; Trusted_Connection=yes
come datasource ho usato sia il nome del server, che il suo IP
come utente ho usato sia "sa" che uno specifico utente per quel databaseNiente, l'errore è sempre lo stesso:
Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.
Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
Forse sono queste le domande che ci daranno la risposta?Aiutatemi a capire
Programamtore ASP.NET
http://glucolo.wordpress.com- Modificato Glauco Cucchiar martedì 17 gennaio 2012 09:35
-
Grazie mille per la dettagliata risposta.
In teoria tutto giusto. Data l'ora tarda e la stanchezza non mi ero accorto che avevo la sicurezza integrata a true.. ;-)
Ora la stringa di connessione è questa:
Data Source=xxx.xxx.xxx.xxx\SQLEXPRESS; Initial Catalog=nomeDelDB; Integrated Security=False; Persist Security Info=False; User ID=sa; Password=xxxxxxx; Connect Timeout=120; Trusted_Connection=yes
come datasource ho usato sia il nome del server, che il suo IP
come utente ho usato sia "sa" che uno specifico utente per quel databaseNiente, l'errore è sempre lo stesso:
Impossibile eseguire l'accesso. L'accesso proviene da un dominio non trusted e non può essere utilizzato con l'autenticazione di Windows.
Non riesco proprio a capire dove è l'inghippo, magari è una cag......ta che sfugge, ma sto diventando matto!!!
Perché l'errore dice ancora che l'autenticazione usata è quella Windows?
Bisogna controllare anche il processo? chi è che sta cercando di accedere all'istanza?
Forse sono queste le domande che ci daranno la risposta?Aiutatemi a capire
Programamtore ASP.NET
http://glucolo.wordpress.com
Mi sono dimenticato di mettere in evidenza una cosa: nell'esempio di connection string che ho postato avevo rimosso anche quel "Trusted_Security=yes" che dovrebbe essere la causa del tuo problema, dato che lo vedo ancora presente. Se guardi a questo link vedrai che ha lo stesso scopo di Integrated Security.Prova a rimuoverlo e vedi se così si risolve.
Ciao!
Francesco Milano // .NET & SQL Server Consultant // blog // twitter
- Contrassegnato come risposta Glauco Cucchiar martedì 17 gennaio 2012 10:39
-
-