将 Reporting Services 安全地部署到 Web
我构建了一个带有报表查看器控件的 ASP.NET 站点,该控件显示托管在我们的报表服务报表服务器上的报表。一切都很好。但现在我需要对面向公众的站点执行相同的操作,我需要通过防火墙访问我的报表服务器。
我的问题是:如何锁定它以确保最终用户只能访问某些报告?
我认为我需要做的就是确保 DMZ 中的 IIS 可以与报表服务器通信。但是,我认为我需要模拟一个只能访问我想要提供的报告的用户。另一方面,如果我的报表服务器只能从 DMZ 访问,那么我就不需要担心最终用户直接连接到报表服务器。我似乎想要向外界提供的任何报告都只需要通过默认的 ASPNET 帐户即可访问?我希望有人能证实我的猜测或告诉我哪里错了。
I've build an asp.net site with a report viewer control that displays reports hosted on our reporting services report server. Everything works great. But now I need to do the same thing with a public facing site, where I'll need to access my report server through the firewall.
My question is: How do I lock this down to make sure that the end user can only access certain reports?
I think that all I need to do is make sure my IIS, in my DMZ, can talk to the report server. But, I think I'll need to impersonate a user that only has access to the reports I want to make available. On the other hand, if my report server is only accessible from the DMZ, then I won't need to worry about the end user directly connecting to the report server. I seems like any report I want to serve to the outside world just needs to be accessible by the default ASPNET account? I hoping someone can confirm my speculation or tell me where I'm wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也有这个问题。我必须做的是确保每个报告都从应用程序中获取一个参数。如果经过身份验证的用户通过角色提供程序拥有角色,而公共用户没有,则可以通过应用程序将该角色作为参数传递给报表。这样,如果用户未通过身份验证,该参数将为空,并且报告将不会执行。
I had this problem too. What I had to do was make sure that each report takes a parameter from the application. If your authenticated users have an role through a role provider, and public users do not, you could pass the role as a parameter to the report through the application. That way if a user is not authenticated, the parameter will be null, and the report will not execute.