Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么VS 2010 ASP.NET ReportViewer在指定自定义RoleProvider时无法呈现参数?_.net_Asp.net_Visual Studio 2010_Reporting Services_Reportviewer - Fatal编程技术网

为什么VS 2010 ASP.NET ReportViewer在指定自定义RoleProvider时无法呈现参数?

为什么VS 2010 ASP.NET ReportViewer在指定自定义RoleProvider时无法呈现参数?,.net,asp.net,visual-studio-2010,reporting-services,reportviewer,.net,Asp.net,Visual Studio 2010,Reporting Services,Reportviewer,我已从中获取了SSRS报告样本。报告显示一些客户数据和“城市”参数。报告还使用“城市”参数来过滤数据。除非我通过web.config启用自定义RoleProvider,否则此报表运行正常。我已经在我的自定义RoleProvider子类的所有方法中设置了断点,并且我已经创建了一个UserDecorator来包装默认的用户上下文,这样我也可以在那里设置断点 启用自定义RoleProvider时,报告无法正确呈现,但不会引发ReportError事件。此外,未调用RoleProvider或custom

我已从中获取了SSRS报告样本。报告显示一些客户数据和“城市”参数。报告还使用“城市”参数来过滤数据。除非我通过web.config启用自定义RoleProvider,否则此报表运行正常。我已经在我的自定义RoleProvider子类的所有方法中设置了断点,并且我已经创建了一个UserDecorator来包装默认的用户上下文,这样我也可以在那里设置断点

启用自定义RoleProvider时,报告无法正确呈现,但不会引发ReportError事件。此外,未调用RoleProvider或custom IPrincipal上的任何方法。以下是“输出”窗口中的调试输出:

mscorlib.dll中发生类型为“System.Security.SecurityException”的第一次意外异常

Microsoft.ReportViewer.ProcessingObjectModel.dll中首次出现类型为“System.Security.SecurityException”的异常

Microsoft.ReportViewer.Common.dll中首次出现“System.Security.SecurityException”类型的异常

Microsoft.ReportViewer.Common.dll中发生了类型为“Microsoft.ReportingServices.ReportProcessing.ReportProcessingException”的首次意外异常

Microsoft.ReportViewer.Common.dll中发生了类型为“Microsoft.ReportingServices.ReportProcessing.ReportProcessingException”的首次意外异常

Microsoft.ReportViewer.Common.dll中发生了类型为“Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException”的首次意外异常

我的理解是,代码访问安全性在.NET4.0中被弃用,因此我对ReportProcessingException可能是什么感到有点困惑。我不认为这是一个信任问题,因为报告在不使用自定义角色提供程序时执行得很好。我不明白为什么RoleProvider会影响任何东西,因为它的任何方法都没有被调用过

项目要求我使用内部角色提供者。

以下是演示项目的链接:

通过web.config启用或禁用RoleProvider

有人能解释为什么会这样吗?解决办法是什么?
谢谢

我找到了部分答案。 显然你需要一份参数化的报告。我还是不知道为什么。我想知道该报告是如何要求这一点的

PermissionSet permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));

ReportViewer1.LocalReport.SetBasePermissionForSandboxAppDomain(permissions);

如果有人能解释上述解决方案的安全后果,那就太好了。我在开什么门?克里斯,我建议你换一下标签。有一个ssrs标签和一个reporting services标签……也许这会让你得到更多的回复。赛斯