Агент SQL и Web.Config.БЫЛ:SSRS Формирует аутентификацию, запуск подписок
-
05-07-2019 - |
Вопрос
Я успешно реализовал проверку подлинности с помощью форм в SSRS, так что он теперь использует обе роли и пользователей с моего сайта, используя обычные рамки членства asp.net .
Я могу войти на портал и запустить любой отчет, если у меня есть правильная роль из моего исходного приложения.Все хорошо.
Однако, если я создаю подписку, то при запуске подписки я получаю не свой отчет, а скорее это сообщение в журнале:
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 ---
Строка MyApp - это мое пользовательское расширение безопасности.
У меня есть настройка RoleManager и поставщика членства в web.config в каталоге / ReportServer.
Выполняет ли программа подписки какой-либо обход настроек веб-сайта?
Обновить:
Хорошо, итак, я выяснил, что, по-видимому, он работает с любыми значениями is, установленными на компьютере.НАСТРАИВАЕТСЯ, когда подписка оценивается / запускается агентом sql.
Есть какие-нибудь подсказки, почему он не использует настройки web.config, а переходит прямо к machine.config?
Решение
Я не знаком с SSRS, но я знаком с поставщиками .NET / membership и web /app/machine.config.
В вашем исключении указана подписка!WindowsService_0!161a0!21.10.2009-22:42:05::Я думаю, это означает, что служба подписки является службой Windows и не запускается в IIS.Это означает, что у него другой конфигурационный файл.
http://reportserver -> IIS -> web.config (ваша конфигурация) подписка!WindowsService -> Services -> app.config -> machine.config.
Надеюсь, это поможет.