2009-06-25 3 views
5

Al momento sono in esecuzione 2 server. Uno è un server Web che esegue Win Server 08 e l'altro è un server database che esegue SQL Server 08 su Win Server 08.stringa di connessione per server di database remoto

Attualmente ho il mio sito di installazione in modo che possa leggere/scrivere sul database utilizzando una stringa di connessione Ho creato con il nome del database, server ip, db user e db pwd. L'utente db che ho creato ha una configurazione di ruolo "pubblica" nel database (non il proprietario del db) e può semplicemente eseguire le stored procedure exec. La mia la stringa di connessione attualmente appare così:

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

Anche se questo sta funzionando perfettamente per me, mi piacerebbe impostare una stringa di connessione al database che non contiene alcun nome utente e password. In alcuni dei miei altri server, in cui il server SQL risiede sullo stesso server dei file Web, sono in grado di utilizzare una connessione affidabile e utilizzare l'utente "Servizio di rete" integrato nel mio database. Questo mi permette di correre una stringa di connessione senza username e password in questo modo:

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

C'è un modo semplice per ottenere una connessione al database, senza hardcoding un nome utente e una password - come la stringa di connessione di cui sopra - quando si utilizza 2 server diversi? Sto sprecando il mio tempo a percorrere questa strada visto che l'utente del database che ho creato ha solo permessi exec in ogni caso?

Grazie per i vostri pensieri su questo.

risposta

5

Non stai perdendo tempo. Questa è una buona pratica. Quando si separare IIS e SQL su macchine separate, qui ci sono alcune opzioni:

  • Creare l'utente asp.net sia sulla scatola di IIS e il server SQL (preferibilmente con stessa password)
  • utilizzare la rappresentazione (il cambiamento contesto vostro sito gira sotto)
  • Cifra una stringa di connessione nel registro un file di configurazione e dimenticare le connessioni attendibili (brrrr)
  • interruttore contesto asp.net di essere un utente di dominio
  • Usa IIS6 in modalità applicazione nativa
+0

Grazie per il feedback. Per quanto riguarda la rappresentazione, conosci qualche buona guida o procedura dettagliata per configurarla? Saluti. –

+0

in realtà graffia l'ultima domanda. Tra il tuo articolo e questa domanda ho le informazioni di cui ho bisogno. Grazie. http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-from-localhost-login-fai –

1

Se i 2 server non sono nello stesso dominio di Windows, non è possibile utilizzare la connessione trusted.

Inoltre, il login deve essere creato come autenticazione di Windows, non è possibile utilizzare un login di autenticazione SQL con una connessione attendibile.

Altrimenti, tutto ciò che Tapori ha detto.