AppPool Problème d'Autorisation à l'Accès de Serveur de Rapports
J'ai un Serveur SQL server 2008 R2 Serveur de Rapports en cours d'exécution sur une machine Windows 7 ainsi que d'un ASP.NET application. L'ASP.NET l'application effectue une requête sur le Serveur de Rapports pour afficher une liste de rapports, de rendre des rapports, etc. Mon ASP.NET application avec succès obtient la liste des rapports, mais quand il essaye de rendre un rapport que j'obtiens l'erreur suivante:
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
Remarque: Cette même base de code a bien fonctionné sur plusieurs ordinateurs exécutant Windows 7 et Windows Server 2008. Iv'e essayé beaucoup de choses différentes basées sur des recherches sur le web mais je n'ai pas trouvé une solution. Aucune information sur ce serait grandement apprécié.
Ça m'a aidé. Si vous n'avez pas l'esprit, je vais mettre que comme une réponse de sorte qu'il est visible.
Pour un rapide changement temporaire, j'ai été capable de faire cela. J'ai vu cette erreur lors du débogage dans Visual Studio. J'ai remarqué que mon projet de propriétés > > serveurs, avait le choix "Utiliser IIS Local Wev server". J'ai l'habitude de le faire pour reproduire l'environnement de production. Commutation à "l'Utilisation Serveur de Développement Visual Studio' m'a permis de déboguer le rapport.
OriginalL'auteur | 2012-06-11
Vous devez vous connecter pour publier un commentaire.
Enfin le comprendre. Mon Reporting Services ont été configurés pour un compte local alors que mon Pool d'Applications IIS est configuré pour ApplicationPoolIdentity. J'ai changé mon Pool d'Applications pour le système local et il fixe. J'espère que ces informations seront utiles à d'autres que j'ai perdu plusieurs heures pour trouver ce out.
Pour des précisions pour les autres qui ont besoin de cette information: Application Piscines > [YourApp] > Définir l'Application par Défaut Pool > selon le Modèle de Processus, le changement d'Identité de "LocalSystem'
n'est-il pas dangereux pour exécuter l'Application de la Piscine sous un compte système?
Je l'utilise sur un réseau sécurisé, ne pas l'exposer au monde extérieur. Donc dans mon cas, la sécurité n'était pas une préoccupation majeure.
J'ai trouvé que les autorisations sur le serveur de rapports ont été l'octroi de l'ensemble de la zone {hostname}$ et les autorisations avaient été mis en revenir à l'application de l'identité du pool. Merci!
OriginalL'auteur
Une autre solution que d'mreyeros le mettre dans le commentaire est de donner le Navigateur de l'autorisation de l'IIS APPPOOL\DefaultAppPool de l'utilisateur dans le Gestionnaire de Rapports.
Pour ce faire, vous devez ouvrir le Gestionnaire de site web (http:///Reports) dans le dossier d'Accueil cliquez sur le Dossier Paramètres -> Sécurité, cliquez sur Nouveau Rôle et de l'Assignation de l'entrée de l'IIS APPPOOL\DefaultAppPool que le nom, sélectionnez les autorisations de la liste.
Michal, je vous remercie beaucoup pour l'affichage de cette!
Je suis d'accord que c'est une bien meilleure solution, car il fonctionne avec la configuration actuelle de IIS plutôt que de changer de la sécurité du site. ApplicationPoolIdentity permet un contrôle plus granulaire (c'est à dire chaque site peut accéder simplement aux bases de données). Merci Michal.
OriginalL'auteur
Presque la même situation ici, à l'exception de IIS et le Serveur de Rapports en cours d'exécution sur Windows Server 2008 R2. J'ai utilisé le asp.net application en cours d'exécution avec l'application de la piscine et tout a fonctionné. Quand j'ai changé de l'application de la DefaultAppPool (en raison d'un problème différent), j'ai eu le problème d'autorisations. J'ai changé l'Identité de la DefaultAppPool de ApplicationPoolIdentity pour le système local (dans IIS, Paramètres Avancés) et cela a fonctionné à nouveau.
OriginalL'auteur
Que Michal Drozdowicz dit, créez le pool d'applications de l'utilisateur comme un navigateur rôle. La partie qui manque, c'est
OriginalL'auteur
Je ne veux pas mettre mon pool d'applications pour le système local que je crois que c'est une mauvaise pratique.
Pour les recommandations de Microsoft (n'utilisez pas de système local, utilisez ApplicationPoolIdentity), voir ici:
https://technet.microsoft.com/en-us/library/jj635855.aspx#AppPools.
Pour la justification, voir ici:
https://stackoverflow.com/a/510225/44169
Je faisais l'expérience de l'erreur décrite. J'avais ajouté mon pool d'application de l'identité de mon Serveur de Rapports sur les autorisations de dossier, mais cela a été remplacée par les paramètres de sécurité d'un sous-dossier. J'ai corrigé cela en sélectionnant le sous-dossier et en cliquant sur "Rétablir le Parent Paramètres de Sécurité".
OriginalL'auteur
Dans le Pool d'Applications IIS Changement ApplicationPoolIdentity À LocalSystem et il sera résolu.
Par défaut ApplicationPoolIdentity N'ont PAS accès aux Rapports de Service c'est à dire les rapports SSRS
Si vous n'avez pas à changer l'Identité de compte pour votre application, puis lors de l'exécution du rapport dans l'application, il va utiliser la valeur par défaut du compte d'Identité “ApplicationPoolIdentity” pour accéder au serveur de rapports. Par défaut, le défaut de ne pas avoir l'autorisation d'accès du serveur de rapports. Donc, dans votre scénario, cette erreur en raison de l'Identité par défaut du compte “ApplicationPoolIdentity” dans le Pool d'Applications n'ont pas l'autorisation d'accéder au Serveur de Rapports.
Pour plus d'informations Lien:
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
OriginalL'auteur