Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fensterauthentifizierung in SQL Server und asp.net

Klingt das nach Ihrem Szenario?

  • IIS-Webanwendung, die auf einem lokalen Computer erstellt wurde
  • Web-App verwendet Windows-Authentifizierung
  • Web-App kommuniziert auch mit Datenbank auf lokalem Rechner
  • Web-App-Benutzer haben auch gültige Datenbank-Logins
  • Anmeldedaten von Web-App-Benutzern werden über eine vertrauenswürdige Verbindung an die Datenbank übergeben

Alles funktioniert super. Dann verschieben Sie es in eine andere Umgebung, in der sich die Datenbank und IIS nicht mehr auf demselben Server befinden, und dann können Sie die Datenbank nicht dazu bringen, die Anmeldeinformationen zu erkennen, die IIS weitergibt?

Wenn ja, dann willkommen in meiner Hölle vor ein paar Monaten. Das Problem ist, dass sich die beiden Prozesse nicht mehr vertrauen, sobald sie sich nicht auf derselben Box befinden. Es sind Netzwerkadministrationsberechtigungen erforderlich, damit die beiden Prozesse einander über Servergrenzen hinweg vertrauen. Leider habe ich nicht darüber gebloggt, aber die allgemeinen Schritte waren

  • Markieren Sie das IIS-Dienstkonto als vertrauenswürdig (Active Directory-Einstellung)
  • Setzen Sie den Dienstprinzipalnamen (SPN) entweder auf den NetBIOS-Namen oder den FQDN
  • bei beiden Boxen musste etwas eingestellt werden, um anzuzeigen, dass sie einander vertrauen können

Tut mir leid für die vage Erinnerung und da ich nicht derjenige war, der die Berechtigung hatte, irgendetwas zu reparieren, konnte ich nur beobachten, wie sie auf die Knöpfe klickten. Der Startartikel zu Wie man mit der Windows-Authentifizierung eine Verbindung zu SQL Server herstellt hat uns ziemlich weit auf die Spur gebracht.