문제

SSRS에서 Forms 인증을 성공적으로 구현 했으므로 이제 일반 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 라인은 내 사용자 정의 보안 확장입니다.

/reportserver 디렉토리의 web.config에 rolemanager 및 멤버십 제공자 설정이 있습니다.

구독 러너가 웹 사이트 설정을 어떻게 든 우회합니까?

업데이트:

좋아, 그래서, 나는 구독이 SQL 에이전트에 의해 평가/트리거 될 때 machine.config로 설정된 값으로 실행되고 있음을 알았습니다.

Web.config 설정을 사용하지 않지만 Machine.config로 바로 이동하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

나는 SSR을 형성하지는 않지만 .NET/멤버십 제공 업체와 웹/앱/machine.config와 함께 있습니다.

예외는 구독 상태 가입! WindowsService_0! 161a0! 10/21/2009-22 : 42 : 05 :: 이것이 가입 서비스가 Windows 서비스이며 IIS에서 실행되지 않는다는 것을 의미한다고 생각합니다. 이것은 다른 구성 파일이 있다는 것을 의미합니다.

http : // reportserver -> iis-> web.config (구성) 구독!

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top