Ho un sito Web in esecuzione su IIS sul mio localhost. Questo sito Web ha la sicurezza delle directory impostata per consentire solo l'autenticazione integrata di Windows. Fa parte di una rete intranet e deve essere autenticato dai nostri account di dominio.Autenticazione integrata di Windows con IIS, Firefox e SQL Server
Mi collego quindi a SQL Server con Integrated Security = SSPI nella stringa di connessione.
Questo funziona perfettamente con Microsoft Internet Explorer, esso autentica automaticamente me quando sono connesso al dominio e posso vedere che logon_user è il mio account di dominio e la stringa di connessione di SQL Server funziona correttamente.
Tuttavia, quando accedo utilizzando Firefox, le cose sono diverse.
In primo luogo, viene richiesto di autenticare, il che è corretto e corretto poiché Firefox non è configurato per fidarsi dell'host locale quanto basta per inviare automaticamente le credenziali (e in effetti sono consapevole di come introdurre questa fiducia già, non è questo il problema). Accedo quindi, che di nuovo va bene, purché inserisco i dettagli dell'account del dominio, tutto va bene. In effetti, una dichiarazione di debug o due mostrano che logon_user è ancora il mio account di dominio e tutto va bene.
Tuttavia, quando vengo a connettersi a SQL Server (che è in esecuzione su un contenitore di server remoto, al quale il mio account di dominio ha privilegi completi sysadmin), ottengo il seguente errore:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Indica per me che qualcosa non va nello stack di autenticazione, per qualche ragione, IIS non è in esecuzione come account autenticato quando autenticarsi usando l'autenticazione di windows da firefox.
Anche questo funziona correttamente quando si utilizza Google Chrome.
Qualche suggerimento?
Stai eseguendo SQL e IIS sulla stessa macchina? – Tomalak
No, SQL Server si trova su un server sicuro remoto. – THEMike