Pergunta

Eu tenho implementado com sucesso formas de autenticação no SSRS, por isso agora usa ambas as funções e usuários do meu site, usando a estrutura de adesão asp.net comum.

Eu posso fazer login no portal e executar qualquer relatório, desde que eu tenho o papel correto do meu aplicativo originais. Tudo de bom.

No entanto, se eu criar uma assinatura, então, quando as corridas de subscrição, eu não recebo o meu relatório, mas esta mensagem no log:

    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 ---

A linha de MyApp é a minha extensão de segurança personalizada.

Eu tenho a configuração RoleManager e provedor de associação no web.config no diretório / ReportServer.

Será que a subscrição corredor contornar as configurações do site de alguma forma?

UPDATE:

Ok, então eu descobri, que, aparentemente, ele está sendo executado com o que está valores é definido em Machine.config quando uma subscrição está sendo avaliada / desencadeada por agente sql.

Qualquer pistas por que não usar as configurações web.config, mas vai direto para machine.config?

Foi útil?

Solução

Eu não formiliar com SSRS, mas estou com .NET fornecedores / sócios e web / app / machine.config.

Seu exceção afirma subscrição WindowsService_0 161a0 10/21 / 2009-22:! 42: 05 :: Eu acho que isso significa que o serviço de assinatura é um serviço do Windows e não é executado no IIS. Isto significa que tem um arquivo de configuração diferente.

http: // reportserver -> IIS -> web.config (sua configuração) subscrição WindowsService -> Serviços -> app.config -.> machine.config

Hope isso ajuda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top