Ti sembra il tuo scenario?
- App Web IIS basata su computer locale
- L'app Web utilizza l'autenticazione di Windows
- L'app Web comunica con il database anche sul computer locale
- Anche gli utenti dell'app Web dispongono di accessi al database validi
- Le credenziali degli utenti dell'app Web vengono passate al database tramite una connessione attendibile
Tutto funziona alla grande. Quindi lo sposti in un ambiente diverso in cui il database e IIS non si trovano più sullo stesso server e quindi non riesci a far riconoscere al database le credenziali che IIS sta passando?
Se è così, allora benvenuto nel mio inferno qualche mese fa. Il problema è che una volta che i due processi non sono sulla stessa scatola, non si fidano più l'uno dell'altro. Le autorizzazioni di amministrazione di rete sono necessarie per ottenere l'attendibilità reciproca dei due processi oltre i limiti del server. Sfortunatamente, non ne ho parlato sul blog, ma i passaggi generali erano
- contrassegna l'account del servizio IIS come affidabile (impostazione di Active Directory)
- imposta il nome dell'entità servizio (SPN) sul nome netbios o sull'FQDN
- È stato necessario impostare qualcosa su entrambe le caselle per indicare che potevano fidarsi l'una dell'altra
Scusate il vago ricordo e poiché non ero io quello con le credenziali per aggiustare nulla, ho solo avuto modo di osservarli facendo clic sui pulsanti. L'articolo iniziale su Come connettersi a SQL Server utilizzando l'autenticazione di Windows ci ha portato abbastanza in fondo alla pista.