2013-04-16 12 views
7

Sto tentando di connettersi a un server SQL dall'esterno del dominio.Autenticazione della connessione SQL tramite i dettagli di accesso AD esterni al dominio

ho la seguente stringa di connessione:

SqlConnection("SERVER=Server;DATABASE=Database;User ID=Domain\User;Password=password"); 

Quando provo ad usare questo al di fuori del dominio questo fallirà in quanto cerca di accedere utilizzando l'autenticazione di SQL.

C'è un modo per passare un comando nella stringa per utilizzare l'autenticazione di Active Directory.

Quali altri modi ci sarebbero per connettersi a un server SQL, utilizzando i dettagli delle directory attive al di fuori del dominio?

+0

puoi darci maggiori dettagli ?? – gasroot

+0

C'è qualche ragione particolare per non generare l'utente sql e usarlo? – vittore

+0

Avrebbe bisogno di creare centinaia di utenti su un numero di server SQL. Questo non è stato un problema con questa app specifica prima, ma l'app verrà utilizzata al di fuori del dominio. – boburob

risposta

3

vi sia bisogno di:

  1. utilizzare la protezione integrata nella stringa di connessione e di creare un rapporto di fiducia tra il dominio dominio di risorse (dove server SQL è) e il vostro dominio di account (in cui il conto è). Oppure ...
  2. Creare un account in SQL Server e utilizzarlo nella stringa di connessione come nome utente e password.

Stai facendo un mix non valida mettendo credenziali di dominio in user/pass e non c'è anche un rapporto di fiducia.

EDIT:

I commenti indicano la necessità di sincronizzare account SQL con creds AD. Questo non è necessario. Un account sql è semplicemente nome utente e password con ambito SQL, specifico per SQL server e che non ha nulla a che fare con i domini di dominio. Se si utilizza l'account SQL, quelli diventano un'impostazione di configurazione nell'app che viene utilizzata per costruire la connessione corretta e inviata sul filo. Il server SQL autentica tali creds localmente senza coinvolgere AD.

È anche interessante creare un 2-livello (fat client che acceda direttamente a sql) o 3 livelli (i client accedono al server dell'app di livello intermedio che accede a sql). Se è il secondo, la tua applicazione autentica e autorizza gli utenti e successivamente usa un'impostazione di configurazione con l'utente/pass specifico di SQL per accedere a sql. Se è il primo e usi gli account sql, ne hai bisogno uno per client e questo è un problema.

+0

Ok, il problema è che l'App verrà utilizzata lungo un tunnel VPN PPTP, il che significa che non c'è garanzia che il PC che è collegato farà parte di un dominio, quindi non è nemmeno possibile fidarsi di questi altri domini . Il problema con la creazione di account SQL sarebbe mantenere le password SQL allineate con AD. – boburob

+0

Chi dice che l'account SQL deve essere allineato/sincronizzato con l'account AD. Il nome utente è già diverso (solo account - non dominio \ account). Ciò significa che si tratta di un'impostazione di configurazione nell'app utilizzata per costruire la stringa di connessione. – bryanmac

+0

Ho modificato la risposta per chiarire – bryanmac

Problemi correlati