ASP.NET - IIS7 Bereitstellung Fehler 500 24 50 mit WCF Web Service Binding-w/ AD-Gruppen
Hintergrund: ich bin immer ein Internal Server 500 24 50 Fehler, nach dem bereitstellen einer Anwendung, die kompiliert ohne Fehler auf meinem lokalen Rechner. Der server, der die Anwendung bereitgestellt wird, hat eine Tonne von Sicherheit und IIS 7.5, so muss ich angeben, lese-und Schreibrechte für jedes Verzeichnis an. Diese Anwendung verwendet die windows-Authentifizierung und web-service zum Auffüllen drop-down-Boxen über einen proxy. Ich denke, es könnte ein Problem sein, die Verbindung zu den web-service oder ein Problem mit dem Lesen/schreiben Sicherheit auf die Dateien, oder ein Problem mit der active directory-Authentifizierung.
Aus irgendeinem Grund der Internet Explorer nur angezeigt, kann nicht geladen werden Fehler auf der Webseite.
Fehler in Google Chrome:
500 – Internal Server Error.
There is a problem with the resource you are looking for, and it cannot be displayed.
Log-Datei Für Details:
#Software: Microsoft Internet Information Services 7.5
#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
2011-05-18 13:54:46 W3SVC1 FL-TPA-WEB-01 172.17.1.25 GET / - 80 -
172.17.1.25 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;
+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET4.0C;+.NET4.0E) - -
invitations.myagencyservices.com 500 24 50 1380 368 15
MSDN Definiert die Fehler bei http://support.microsoft.com/kb/943891:
500.24 - An ASP.NET impersonation configuration does not apply in Managed
Pipeline mode.
Web.Config code:
<system.web>
<customErrors mode="Off" ></customErrors>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<trace enabled="true" pageOutput="true" />
<authentication mode="Windows"/>
<identity impersonate="true"/>
<authorization>
<allow users="alg\bmccarthy, alg\phoward" />
<allow roles="alg\ACOMP_USER_ADMIN" />
<allow roles="alg\ACOMP_user_AMG" />
<allow roles="alg\ACOMP_user_BIG" />
<allow roles="alg\ACOMP_user_NIS" />
<allow roles="alg\ACOMP_user_GLA" />
<allow roles="alg\ACOMP_user_PIP" />
<allow roles="alg\ACOMP_user_PSM" />
<allow roles="alg\ACOMP_user_PAM" />
<allow roles="alg\ACOMP_user_ANN" />
<allow roles="alg\ACOMP_user_AAM" />
<allow roles="alg\ACOMP_user_MWM" />
<allow roles="alg\ACOMP_user_GIM" />
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IAcompService1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://63.236.108.91/aCompService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IAcompService1" contract="aComp_ServiceReference.IAcompService"
name="BasicHttpBinding_IAcompService1" />
</client>
</system.serviceModel>
Irgendwelche Vorschläge wird abgestimmt!
Dank für das schauen!
InformationsquelleAutor Brian McCarthy | 2011-05-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den 500.24.50 Fehler tritt auf, weil ASP.NET im Integrierten Modus ist nicht in der Lage zu imitieren die Anforderung Identität in der BeginRequest und AuthenticateRequest-pipeline-Stufen. 500.24 wird ausgelöst, wenn die Anwendung ausgeführt wird, der im integrierten Modus, validateIntegratedModeConfiguration nicht deklariert ist oder auf true festgelegt, und Ihre Anwendung hat identity impersonate auf true gesetzt.
Abhilfe
A. Wenn Ihre Anwendung sich nicht auf die Identität des anfordernden Benutzers in das BeginRequest-und AuthenticateRequest-Phasen (die nur Phasen, wo Identitätswechsel ist nicht möglich im Integrierten Modus), ignorieren Sie diesen Fehler durch hinzufügen des folgenden in die Anwendung web.config:
B., Wenn Ihre Anwendung beruhen auf den Identitätswechsel in BeginRequest und AuthenticateRequest, oder Sie nicht sicher sind, bewegen Sie sich zu Classic-Modus.
C. entfernen Sie aus dem web.config, die nicht wirksam im integrierten Modus sowieso
Lesen Sie mehr auf Wichtige Änderungen in IIS 7 LEARN.IIS.NET
InformationsquelleAutor Brian McCarthy
UPDATE:
Habe ein wenig mehr Graben und Sie haben tatsächlich den Dienst falsch konfiguriert ist. Diese MSDN-Artikel erklärt konfigurieren "basicHttpBinding" für die Windows-Authentifizierung. Im Grunde, das "basicHttpBinding" - element muss wie folgt Aussehen:
Original Antwort:
Unten ist etwas zu versuchen, von den Informationen, in diesem Artikel. Seit Ihrem service-Identitätswechsel verwendet werden, für die Genehmigung, es sieht aus wie Sie Sie benutzen müssen ASP.NET classic-Modus-pipeline-Konfiguration der AppPool für diesen service. Sie Mai wollen untersuchen, wie der Identitätswechsel unterstützt in der neuen Integrierten Modus pipeline und sehen Sie, warum Sie Ihren Dienst versagt zu halten, da der Integrierte Modus bevorzugt.
Ich sehe das folgende ist anders: <security mode="TransportCredentialOnly"> <transport clientCredentialType="Windows" />. Vorher hatte ich <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
Sie haben die security-element mode="None" and transport element clientCredentialType="None" in der "basicHttpBinding" - element. Sie sollte eingestellt werden mit Sicherheit element mode="TransportCredentialOnly" und den transport element clientCredentialType="Windows".
Saez, warum wird ein Fenster pop-up für die Authentifizierung? es sollte automatisch und nicht von mir verlangen, zu geben in meinem AD info, da bin ich schon bei windows angemeldet. Wie kann ich dies verhindern?
Nicht sicher, wie Sie Sie generieren die client-oder wie werden Sie den Aufruf des Dienstes. Sie sollten auf jeden Fall sicherstellen, dass Sie die Regeneration des Kunden nach der service-config ändert.
InformationsquelleAutor Sixto Saez
Wichtig: Stellen Sie sicher, die Sie installiert haben ASP.NET auf Ihrem Computer; wenn nicht, oder wenn Sie Zweifel haben, führen Sie den folgenden Befehl ein:
InformationsquelleAutor George