2009-06-30 23 views
12

Ho un servizio Web che memorizza i dati in un database SQL Server 2008 locale. Se eseguo il servizio web sotto il mio account, il servizio web può accedere correttamente al database. Tuttavia, se utilizzo l'account DefaultAppPool (IUSR), l'accesso al database dal servizio Web non riesce.Come configurare SQL Server per consentire l'accesso tramite IIS

Come impostare la sicurezza su SQL Server per consentire l'accesso a un database specifico tramite IIS?

Il messaggio di errore specifico che sto ottenendo è: Accesso non riuscito per l'utente 'IIS AppPool \ DefaultAppPool'

+0

Qual è la stringa di connessione nel servizio Web? – Duncan

+0

È una stringa di connessione del framework di entità, come segue: Calanus

+0

Per una maggiore sicurezza, è possibile creare il proprio servizio Web all'interno di SQL Server stesso creando un endpoint HTTP. –

risposta

11

. Hai due opzioni (ovvio, forse!):

  • Invece di usare Finestra s Integrato Sicurezza utilizzare l'autenticazione SQL .
  • Se non puoi o non vuoi, allora hai per creare un nuovo utente in SQL Server correlato a quell'account Windows.
  • Oppure (terza opzione) è possibile modificare il servizio Web da eseguire con un account che si sa funziona.
+1

+1. D'accordo, usa un qualche tipo di account (SQL o A.D.) specifico per questa applicazione. Metti l'account in un ruolo, imposta le autorizzazioni sul ruolo. –

5

Io generalmente eseguire il pool di applicazione con un account utente di dominio, in questo modo è possibile controllare l'utente specifico per ogni sito sul tuo server.

Se non riesco a utilizzare un account di dominio, eseguirò il sito come "Servizio di rete" - e l'utente che corrisponderebbe a quello in SQL sarebbe l'account della macchina (MACHINENAME $ - sostituisci "machinename" con . il nome del server IIS ")

Se si prevede di utilizzare il nuovo IIS7 IIS utenti - che non sono utenti Windows - si dovrà utilizzare l'autenticazione di SQL anziché l'autenticazione di Windows per l'accesso database SQL

Problemi correlati