Agente SQL y Web.Config. WAS: Autenticación de formularios SSRS, suscripciones en ejecución

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

Pregunta

He implementado con éxito la autenticación de formularios en SSRS, por lo que ahora utiliza tanto roles como usuarios de mi sitio web, usando el marco de membresía ordinario de asp.net.

Puedo iniciar sesión en el portal y ejecutar cualquier informe, siempre y cuando tenga la función correcta de mi aplicación original. Todo bien.

Sin embargo, si creo una suscripción, entonces, cuando se ejecuta la suscripción, no recibo mi informe, sino este mensaje en el registro:

    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 línea MyApp es mi extensión de seguridad personalizada.

Tengo el RoleManager y la configuración del proveedor de membresía en web.config en el directorio / ReportServer.

¿El corredor de suscripción elude la configuración del sitio web de alguna manera?

ACTUALIZACIÓN:

Ok, entonces descubrí que aparentemente se está ejecutando con lo que sea que los valores se configuran en MACHINE.CONFIG cuando una suscripción está siendo evaluada / activada por el agente SQL.

¿Alguna pista de por qué no usa la configuración web.config, pero va directamente a machine.config?

¿Fue útil?

Solución

No formé parte de SSRS, pero sí con los proveedores de .NET / membresía y web / app / machine.config.

¡Suscripción de estados de excepción! Servicio de Windows_0! 161a0! 21/21 / 2009-22: 42: 05 :: Creo que esto significa que el servicio de suscripción es un servicio de Windows y no se ejecuta en IIS. Esto significa que tiene un archivo de configuración diferente.

http: // reportserver - > IIS - > web.config (su configuración) suscripción! WindowsService - > Servicios - > aplicación.config - > machine.config.

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top