Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel bietet eine Lösung für das Problem, dass Sie aufgrund des Fehlers "404 - Datei oder Verzeichnis nicht gefunden" nicht auf Microsoft Dynamics CRM 2011 mit anspruchsbasierter Authentifizierung zugreifen können.
Gilt für: Microsoft Dynamics CRM Online
Ursprüngliche KB-Nummer: 2847921
Symptome
Beim Versuch, mit anspruchsbasierter Authentifizierung auf Microsoft Dynamics CRM 2011 zuzugreifen, tritt möglicherweise eine Fehlermeldung mit 404-Datei oder Verzeichnis nicht gefunden auf.
Der folgende Fehlerstapel befindet sich in der Ereignisanzeige, nachdem das AD FS-Ablaufverfolgungsprotokoll auf dem AD FS-Server aktiviert wurde:
Protokollname: AD FS 2.0-Ablaufverfolgung/Debug
Quelle: AD FS 2.0-Ablaufverfolgung
Datum: mm/tt/jjjj 00:00:00 nachmittags
Ereignis-ID: 67
Aufgabenkategorie: Keine
Ebene: Fehler
Schlüsselwörter: ADFSProtocol
Benutzer: NETZWERK SERVICE
Rechner: SERVER
Beschreibung:
Fehler beim Verarbeiten der Webanforderung, da die Anforderung ungültig ist. Die Protokollnachricht kann von der HTTP-Abfrage nicht abgerufen werden. Beim Analysieren eingehender HTTP-Anforderung sind die folgenden Fehler aufgetreten:Microsoft.IdentityServer.Protocols.Saml.HttpSamlMessageException: MSIS7015: Diese Anforderung enthält nicht die erwartete Protokollnachricht oder falsche Protokollparameter wurden gemäß den HTTP-SAML-Protokollbindungen gefunden.
at Microsoft.IdentityServer.Web.HttpSamlMessageFactory.CreateMessage(HttpContext httpContext)
bei Microsoft.IdentityServer.Web.FederationPassiveContext.EnsureCurrent(HttpContext context)
Ursache
IIS Applicationhost.config ist unvollständig. Dies kann durch eine beschädigte oder unvollständige Installation von AD FS verursacht werden. Mindestens einer der folgenden Speicherortpfade und deren Einstellungen wurden entfernt:
<Standortpfad="Standardwebsite/adfs">
<location path="Default Web Site/adfs/ls">
<location path="Default Web Site/adfs/ls/auth">
<location path="Default Web Site/adfs/ls/auth/integrated">
<location path="Default Web Site/adfs/ls/auth/sslclient">
<location path="Default Web Site/adfs/ls/auth/basic">
Lösung
Um dieses Problem zu beheben, müssen Sie die folgenden Schritte ausführen:
Beenden des IIS-Diensts auf dem AD FS-Server
Beenden des AD FS-Diensts auf dem AD FS-Server
Erstellen Sie eine Kopie der Datei "applicationhost.config", und öffnen Sie dann die Datei "applicationhost.config", die sich befindet:
C:\windows\system32\inetsrv
.Überprüfen Sie diese Datei auf fehlende Dateispeicherortpfade. Aktualisieren Sie diese Datei so, dass alle Dateispeicherortpfade eingeschlossen werden, wie unten dargestellt.
<location path="Default Web Site/adfs"> <system.webServer> <handlers accessPolicy="Read" /> <security> <access sslFlags="Ssl, Ssl128" /> <authentication> <windowsAuthentication enabled="false" useAppPoolCredentials="true"> <extendedProtection tokenChecking="Allow" /> </windowsAuthentication> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="true" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> <directoryBrowse enabled="false" showFlags="Date, Time, Size, Extension" /> <defaultDocument enabled="true"> <files> <clear /> <add value="default.aspx" /> </files> </defaultDocument> </system.webServer> </location> <location path="Default Web Site/adfs/ls"> <system.webServer> <handlers accessPolicy="Read, Script" /> <security> <access sslFlags="Ssl, Ssl128" /> <authentication> <windowsAuthentication enabled="true" useAppPoolCredentials="true"> <extendedProtection tokenChecking="Allow" /> </windowsAuthentication> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="true" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> <location path="Default Web Site/adfs/ls/auth"> <system.webServer> <security> <authentication> <windowsAuthentication enabled="false" useAppPoolCredentials="true" /> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="false" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> <location path="Default Web Site/adfs/ls/auth/integrated"> <system.webServer> <handlers accessPolicy="Read, Script" /> <security> <authentication> <windowsAuthentication enabled="true" useAppPoolCredentials="true" /> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="false" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> <location path="Default Web Site/adfs/ls/auth/sslclient"> <system.webServer> <handlers accessPolicy="Read, Script" /> <security> <access sslFlags="Ssl, SslNegotiateCert, SslRequireCert, Ssl128" /> <authentication> <windowsAuthentication enabled="false" useAppPoolCredentials="true" /> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="true" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> <location path="Default Web Site/adfs/ls/auth/basic"> <system.webServer> <handlers accessPolicy="Read, Script" /> <security> <authentication> <windowsAuthentication enabled="false" useAppPoolCredentials="true" /> <clientCertificateMappingAuthentication enabled="false" /> <anonymousAuthentication enabled="true" /> <iisClientCertificateMappingAuthentication enabled="false" /> <digestAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location>
Starten Sie den IIS-Dienst auf dem AD FS-Server.
Starten Sie den AD FS-Dienst auf dem AD FS-Server.
Weitere Informationen
Weitere Informationen finden Sie unter Aktivieren der Debugprotokollierung für Active Directory-Verbunddienste (AD FS) 2.0 (AD FS 2.0).