Agent SQL et Web.Config. WAS: authentification par formulaire SSRS, souscriptions en cours d'exécution

StackOverflow https://stackoverflow.com/questions/1603649

Question

J'ai réussi à implémenter l'authentification par formulaires dans SSRS. Par conséquent, il utilise désormais les rôles et les utilisateurs de mon site Web, à l'aide du cadre d'appartenance asp.net habituel.

Je peux me connecter au portail et générer n'importe quel rapport, à condition que je dispose du rôle correct de mon application d'origine. Tout va bien.

Cependant, si je crée un abonnement, lors de son exécution, je ne reçois pas mon rapport mais ce message dans le journal:

    subscription!WindowsService_0!161a0!10/21/2009-22:42:05:: i INFO: 
Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: 
An internal error occurred on the report server. See the error log for more details. ---> 
System.Configuration.Provider.ProviderException:
 The Role Manager feature has not been enabled.
       at System.Web.Security.Roles.EnsureEnabled()
       at System.Web.Security.Roles.GetRolesForUser(String username)
       at MyApp.ReportServer.Security.Module.Authorization.CheckAccess(String userName, IntPtr userToken, Byte[] secDesc, ReportOperation requiredOperation)
       at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType catItemType, Byte[] secDesc, ReportOperation rptOper, String reportPath)
       at Microsoft.ReportingServices.Library.SecurityRequirements.CheckAccess(ItemType itemType, Byte[] securityDescriptor, String itemPath)
       at Microsoft.ReportingServices.Library.DefinitionLoader.GetParameterDefinition(CatalogItemContext itemContext, String historyId, Boolean forRendering, SecurityRequirements requirements)
       at Microsoft.ReportingServices.Library.RSService.GetReportParameters(ClientRequest session, CatalogItemContext reportContext, Boolean forRendering)
       at Microsoft.ReportingServices.Library.RSServiceDataProvider.GetParameters(ClientRequest session, CatalogItemContext reportContext)
       at Microsoft.ReportingServices.Library.RenderForNewSession.GetReportParameters()
       at Microsoft.ReportingServices.Library.RenderForNewSession.GetReportMetadata()
       at Microsoft.ReportingServices.Library.RenderForNewSession.get_ExecuteExistingSnapshot()
       at Microsoft.ReportingServices.Library.RenderForNewSession.GetExecutionStrategy()
       at Microsoft.ReportingServices.Library.ReportExecutionBase.InternalExecuteReport()
       at Microsoft.ReportingServices.Library.ReportExecutionBase.Execute()
       at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper()
       --- End of inner exception stack trace ---

La ligne MyApp est mon extension de sécurité personnalisée.

Le gestionnaire RoleManager et le fournisseur d'appartenances sont configurés dans web.config dans le répertoire / ReportServer.

Le gestionnaire d'abonnement contourne-t-il les paramètres du site Web d'une manière ou d'une autre?

MISE À JOUR:

Ok, j'ai donc découvert qu'apparemment, il s'exécute avec toutes les valeurs définies dans MACHINE.CONFIG lorsqu'une souscription est en cours d'évaluation / déclenchée par un agent SQL.

Y a-t-il des indices qui expliquent pourquoi il n'utilise pas les paramètres web.config, mais passe directement à machine.config?

Était-ce utile?

La solution

Je ne suis pas membre de SSRS, mais je suis avec des fournisseurs d'adhésion .NET et Web / app / machine.config.

Votre abonnement aux états d’exception! WindowsService_0! 161a0! 10/21 / 2009-22: 42: 05 :: Je pense que cela signifie que le service d'abonnement est un service Windows et ne s'exécute pas dans IIS. Cela signifie qu'il a un fichier de configuration différent.

http: // serveur de rapports - > IIS - > web.config (Votre configuration) abonnement! WindowsService - > Services - > app.config - > machine.config.

J'espère que ça aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top