Freigeben über


Authentifizierung (Windows Media Format 11 SDK)

Das Reader-Objekt kann Herausforderungen bei der Netzwerkauthentifizierung verarbeiten, einschließlich Digestauthentifizierung und NTLM-Authentifizierung. In einigen Fällen muss die Anwendung die Anmeldeinformationen des Benutzers über eine Rückrufschnittstelle bereitstellen:

  • Digestauthentifizierung: Die Anwendung muss die IWMCredentialCallback-Schnittstelle implementieren, wie weiter unten in diesem Thema beschrieben.

  • NTLM-Authentifizierung: Der Leser antwortet automatisch mit den Anmeldeinformationen des Benutzers. Wenn der aktuelle Benutzer autorisiert ist, sich beim Server anzumelden, muss die Anwendung nichts tun. Wenn der Benutzer keine Autorisierung besitzt, muss die Anwendung die IWMCredentialCallback-Schnittstelle implementieren.

    Hinweis

    Windows Media Services Version 4.1 unterstützt keine NTLM-Authentifizierung über einen Proxyserver. Die NTLM-Authentifizierung erfordert mehrere Client-Server-Austausche über dieselbe Verbindung, und Version 4.1 führt keine dauerhafte Verbindung mit dem Proxy. Die Windows Media Services 9-Serie in Microsoft Windows Server 2003 unterstützt die NTLM-Authentifizierung über einen Proxyserver, solange der Proxy Keep-Alive-Verbindungen unterstützt.

     

Wie bereits erwähnt, muss die Anwendung in einigen Fällen die Anmeldeinformationen des Benutzers angeben. Dies geschieht über die IWMCredentialCallback-Schnittstelle , die über eine einzelne Methode, AcquireCredentials, verfügt. Um die Authentifizierung zu unterstützen, implementieren Sie diese Schnittstelle in Ihrer Anwendung. Das Leserobjekt fragt diese Schnittstelle ab, indem es QueryInterface auf dem IWMReaderCallback-Zeiger aufruft, den es von der Anwendung in der IWMReader::Open-Methode empfangen hat. Wenn das Leserobjekt die Anmeldeinformationen des Benutzers abrufen muss, ruft es die AcquireCredentials-Methode der Anwendung auf.

Wenn die Anmeldeinformationen ohne Verschlüsselung über das Netzwerk gesendet werden, legt der Leser das WMT_CREDENTIAL_CLEAR_TEXT Flag im pdwFlags-Parameter fest. Dies gibt der Anwendung die Möglichkeit, den Benutzer zu warnen, dass seine Anmeldeinformationen in Nur-Text gesendet werden.

Andernfalls verschlüsselt das Leserobjekt die Anmeldeinformationen automatisch, bevor sie über das Netzwerk gesendet werden. Die Anwendung kann sie in Nur-Text an das Reader-Objekt zurückgeben. Wenn das Reader-Objekt außerdem das WMT_CREDENTIAL_ENCRYPT-Flag festlegt, bedeutet dies, dass der Leser das Abrufen verschlüsselter Anmeldeinformationen aus der Anwendung unterstützt. In diesem Fall kann die Anwendung die Anmeldeinformationen entweder als Nur-Text zurückgeben oder sie selbst mit der Funktion CryptProtectData verschlüsseln, die in der Dokumentation zum Platform SDK beschrieben wird. Wenn die Anwendung die Anmeldeinformationen verschlüsselt, muss sie das WMT_CREDENTIAL_ENCRYPT-Flag im pdwFlags-Parameter festlegen, bevor die Methode zurückgibt.

Im Allgemeinen ist es nicht erforderlich, die Daten zu verschlüsseln, da das Leserobjekt die Daten bei Bedarf verschlüsselt. Die Verschlüsselung kann jedoch nützlich sein, wenn die Anwendung den Benutzernamen und das Kennwort im Arbeitsspeicher behält, da ein Angreifer daran hindert, ein Speicherabbild des Prozesses zu überprüfen.

IWMCredentialCallback-Schnittstelle

IWMReader-Schnittstelle