SQL Agent e Web.Config. WS: SSRS Autenticação de Formulários, Correr assinaturas
-
05-07-2019 - |
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?
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.