Freigeben über


Authentifizierungsprobleme für ADSI mit ASP

Abhängig von der Konfiguration Ihres Intranets können Authentifizierungsprobleme auftreten, wenn ADSI-Code von einer ASP-Seite ausgeführt wird.

Die Authentifizierung für den Zugriff auf den Domänencontroller kann mithilfe der Delegierung erfolgen. Die Delegierung ermöglicht es einem Dienst, als Benutzer zu fungieren, sodass er mithilfe dieser Benutzeranmeldeinformationen auf eine Netzwerkressource zugreifen kann. Wenn Ihr Intranet dieser Konfiguration folgt, müssen Sie IIS für die Verwendung der Delegierung einrichten. Legen Sie den IIS-Authentifizierungsmechanismus auf Anonym oder NTLM fest. Wenn Sie anonym auswählen, wird Ihr Sicherheitskontext IUSR_MACHINE Konto zugeordnet. Wenn Sie NTLM auswählen, ändert sich der Sicherheitskontext, je nachdem, welcher Benutzer sich bei Ihrer Website anmeldet.

Wenn Sie einen IIS-Server verwenden, der die NT-Herausforderung/-Antwort verwendet, oder einen Browserclient, der Kerberos nicht unterstützt, wird die Double-Hop-Authentifizierung nicht unterstützt. Doppelte Hop-Authentifizierung bedeutet, dass die Benutzeranmeldeinformationen vom Browserclient an den IIS-Server übergeben werden, und der IIS-Server übergibt dann die Anmeldeinformationen an den Back-End-Server. In diesem Fall können Sie eine der folgenden Lösungen verwenden, um den Zugriff auf das Verzeichnis von der ASP-Seite aus zuzulassen:

  • Verwenden Sie IADsOpenDSObject::OpenDSObject oder ADsOpenObject , um Anmeldeinformationen an Active Directory zu übergeben. Die Webseite authentifiziert den verbundenen Benutzer beim IIS-Server. Wenn der Benutzer authentifiziert wurde, kann die Webseite OpenDSObject oder ADsOpenObject verwenden, um einen Benutzernamen und ein Kennwort an den Verzeichnisdienst zu übergeben, um die Authentifizierung beim Back-End-Server zu erhalten. Die Webseite kann dann auf Daten aus dem Verzeichnis zugreifen.
  • Fügen Sie Ihren Code zu einem COM-Objekt hinzu, und fügen Sie dieses Objekt in eine COM+-Anwendung ein (zuvor als MTS-Paket bezeichnet). Die COM+-Anwendung kann dann als Domänenbenutzerkonto ausgeführt werden.
  • Verwenden Sie mehrere ASP-Seiten, wobei eine Seite den Client authentifiziert und eine andere Seite Anmeldeinformationen mithilfe der anonymen Authentifizierung für ein Domänenbenutzerkonto an das Verzeichnis übergibt.

Diese Methoden umfassen die Authentifizierung des Webclients und das anschließende Ändern der Anmeldeinformationen bei der Kontaktaufnahme mit dem Verzeichnis, da die Doppelhop-Authentifizierung mit denselben Anmeldeinformationen nicht möglich ist.