AppPool Erlaubnis für den Zugriff auf Report Server
Ich habe einen SQL Server 2008 R2 Report Server läuft auf einem Windows 7-Rechner sowie ein ASP.NET -Anwendung. Die ASP.NET -Anwendung stellt Anforderungen an den Berichtsserver, um eine Liste der Berichte, Berichte Rendern, etc. Meine ASP.NET die Anwendung erfolgreich, wird die Liste der Berichte, aber wenn er versucht zu Rendern eines Berichts bekomme ich die folgende Fehlermeldung:
The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Microsoft.Reporting.WebForms.ReportServerException: The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied)
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ReportServerException: The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied)]
Microsoft.Reporting.WebForms.ServerReportSoapProxy.OnSoapException(SoapException e) +89
Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.ProxyMethodInvocation.Execute(RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod) +404
Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) +180
Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession() +79
Microsoft.Reporting.WebForms.ServerReport.GetParameters() +54
Hinweis: Dieser gleiche code-Basis gearbeitet hat, problemlos auf mehrere Maschinen, die unter Windows 7 und Windows Server 2008. Iv ' E versucht, viele verschiedene Dinge, die basierend auf web-Suche, aber habe noch keine Lösung gefunden. Jede Einsicht in diese würde sehr geschätzt werden.
Das hat mir geholfen. Wenn Sie nichts dagegen haben, werde ich in Aufmachungen als Antwort, so dass es sichtbar ist.
Für einen schnellen, temporären Wechsel war ich in der Lage, dies zu tun. Ich sah diesen Fehler beim Debuggen in Visual Studio. Ich habe bemerkt, dass mein Projekt-Eigenschaften - > Internet - > Server, hatte die Auswahl "Use Local IIS Wev-server". Ich in der Regel tun dies zu replizieren, die Produktionsumgebung. Umschalten auf den 'Visual Studio Development Server" erlaubt mir, um das Debuggen der Bericht.
InformationsquelleAutor | 2012-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich, es herauszufinden. Mein Reporting Services konfiguriert wurden, zu einem lokalen Konto, während mein Anwendungspools für Internetinformationsdienste (IIS so konfiguriert wurde, dass ApplicationPoolIdentity. Ich änderte meine Anwendungspools auf LocalSystem und es behoben. Hoffentlich diese Informationen wird nützlich sein, andere als die ich vergeudet habe, mehrere Stunden herauszufinden.
Zur Klarstellung für andere, die diese Informationen benötigen: Application Pools > [YourApp] > anwendungspoolstandardwerte Festlegen > Unter Prozess-Modell, ändern Sie die Identität 'LocalSystem'
ist es nicht gefährlich, zu laufen-Anwendungspool unter einem system-Konto?
Ich war mit ihm auf einem sicheren Netzwerk, nicht setzen es auf die Außenwelt. Also in meinem Fall die Sicherheit war nicht eine große Sorge.
Ich fand, dass die Berechtigungen für den Bericht-server erlauben, die gesamte box {hostname}$ und die Berechtigungen gesetzt wurde, zurück zu app-pool-Identität. Danke!
InformationsquelleAutor
Andere Lösung als mreyeros es in den Kommentar setzen die Browser die Berechtigung der IIS-APPPOOL\DefaultAppPool Benutzer im Berichts-Manager.
Zu tun, öffnen Sie den Berichts-Manager-website (http:///Reports) im Home-Ordner klicken Sie auf Ordner-Einstellungen -> Sicherheit, klicken Sie auf Neue Rollenzuweisung und geben Sie den IIS-APPPOOL\DefaultAppPool als Namen ein, wählen Sie Berechtigungen aus der Liste.
Michal, ich danke Ihnen so sehr für dieses posting!
Ich bin damit einverstanden, dass dies eine viel bessere Lösung ist, weil es funktioniert mit der aktuellen Konfiguration des IIS und nicht verändert, die Sicherheit der Website. ApplicationPoolIdentity ermöglicht eine granulare Kontrolle (d.h. jeder Standort kann access nur die Datenbanken, die es erfordert). Danke Michal.
InformationsquelleAutor Michał Drozdowicz
Fast die gleiche situation, außer hier IIS-und Report-Server läuft auf Windows Server 2008 R2. Früher habe ich die asp.net die Anwendung läuft mit einem eigenen application pool und alles funktionierte. Als ich verändert die Anwendung der DefaultAppPool (wegen einem anderen problem), ich habe das problem mit Berechtigungen. Ich änderte die Identität der DefaultAppPool von ApplicationPoolIdentity auf " LocalSystem (in IIS, Erweiterte Einstellungen) und es funktionierte wieder.
InformationsquelleAutor KeithB
Als Michal Drozdowicz gesagt, erstellen Sie die AppPool-user in der browser-Rolle. Der Teil, der fehlt, ist
InformationsquelleAutor SOHO Developer
Ich möchte nicht meine Anwendungspools auf LocalSystem wie ich glaube, das ist eine schlechte Praxis.
Für Microsoft-Empfehlungen (nicht verwenden LocalSystem verwenden ApplicationPoolIdentity), siehe hier:
https://technet.microsoft.com/en-us/library/jj635855.aspx#AppPools.
Begründung, siehe hier:
https://stackoverflow.com/a/510225/44169
Erlebte ich den beschriebenen Fehler. Ich hatte noch meine app-pool-Identität auf meine Berichtsserver-Ordner-Berechtigungen, aber dies wurde nicht durch den security-Einstellungen von einem Unterordner. Ich fixierte Sie dies, indem Sie den Unterordner, und klicken Sie auf "Wiederherstellen Übergeordneten Sicherheitseinstellungen".
InformationsquelleAutor Ronnie
In der IIS-Anwendungspool Ändern ApplicationPoolIdentity ZU LocalSystem und es behoben wird.
Standardmäßig ApplicationPoolIdentity haben keinen Zugriff auf den Berichts-Service, d.h. von SSRS-berichten
Wenn Sie nicht ändern Sie die id-Konto für Ihre Anwendung, dann, wenn Sie den Bericht ausführen in der Anwendung, wird es die Standard-Konto für die Identität "ApplicationPoolIdentity", um Zugriff auf den Berichts-server. Standardmäßig wird die nicht über die Berechtigung zum Zugriff auf den Berichts-server. Also in deinem Szenario, wird dieser Fehler aufgrund der default-Konto für die Identität "ApplicationPoolIdentity" in den Application-Pool nicht über die Berechtigung zum Zugriff auf den Berichtsserver.
Weitere Informationen Link:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9593f5a8-09e7-4299-9cf1-5251dd375c38/the-permissions-granted-to-user-iis-apppoolaspnet-v40-are-insufficient-for-performing-this?forum=sqlreportingservices
InformationsquelleAutor test app