Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Autenticazione finestra in sql server e asp.net

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.