2009-10-21 4 views
0

SSRS에서 성공적으로 양식 인증을 구현하여 일반 asp.net 멤버십 프레임 워크를 사용하여 내 웹 사이트의 역할과 사용자를 모두 사용합니다.SQL Agent 및 Web.Config. WAS : SSRS 양식 인증, 구독 실행

원래 응용 프로그램에서 올바른 역할을하는 한 포털에 로그인하여 보고서를 실행할 수 있습니다. 문제 없다. 내가 구독을 만드는 경우 구독이 실행될 때

그러나, 다음, 나는 내 리포트를 얻을하지 않지만 오히려 로그에서이 메시지 : MyApp를 선 내 사용자 지정 보안 확장

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

입니다 .

/ReportServer 디렉토리의 web.config에 RoleManager 및 멤버 자격 공급자 설정이 있습니다.

서브 스크립 션 러너가 어떻게 든 웹 사이트 설정을 우회합니까? UPDATE

:

좋아, 그래서 내가 발견은, 분명히 그것이 무엇 이건 실행중인 구독이 평가 될 때 값이 SQL 에이전트에 의해 트리거 /은 Machine.config에서 설정됩니다.

web.config 설정을 사용하지 않고 machine.config로 바로가는 단서가 있습니까?

답변

1

SSRS에 익숙하지 않지만 .NET/멤버 자격 공급자 및 web/app/machine.config를 사용하고 있습니다.

WindowsService_0! 161a0! 10/21/2009-22 : 42 : 05 :: 이것은 가입 서비스가 Windows 서비스이고 IIS에서 실행되지 않는다고 생각합니다. 즉, 구성 파일이 다릅니다.

http://reportserver -> IIS -> web.config (귀하의 구성) 구독! WindowsService -> 서비스 -> app.config -> machine.config.

희망이 있습니다.