Агент SQL и Web.Config.БЫЛ:SSRS Формирует аутентификацию, запуск подписок

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

Вопрос

Я успешно реализовал проверку подлинности с помощью форм в 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.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top