原文:Reporting Service部署之访问权限

SQL Server Reporting Services 并非专门设计用于 Internet 报表部署方案,但是您可以成功地将 Reporting Services 放置于面向 Internet 的 Web 服务器上,
   以将一般信息向广大公众传播,或者将公司保密数据向经过授权和身份验证的用户传播。
 
          公司的一个项目中的报表准备升级到SQL Server 2005,并且其中的报表系统将使用集成在SQL Server 2005中的Reporting Services。
   但是当我将报表模板发布到IIS服务器后,通过IE客户端通过浏览器访问时,默认会弹出Windows集成身份验证的对话框。
   如果在IIS配置里面把允许匿名(IUSR_**)访问的选项勾选,IE客户端再次访问的时候,会提示以下信息:
    1)为用户“NT AUTHORITY/NETWORK SERVICE”授予的权限不足,无法执行此操作。 (rsAccessDenied)
    2)    请求因HTTP 状态401 失败:Unauthorized。(IUSR_** 访问权限不足。)

对于这个问题,我在参考了msdn与网上的一篇文章(http://www.cnblogs.com/firmwolf/archive/2005/08/04/207062.html),之后解决了些问题。
    解决方案:
    除了要设置IIS允许匿名访问外,还需要设置Reporting Services站点的访问权限和SQL Server中数据源的用户访问权限。

下面我将把需要做的步骤列出来,大家注意前提是使用Visual Studio .NET 2005 已经正确的发布了Reporting Services制作的报表模板到IIS服务器。

第一步:在运行IIS的Web服务器的本地访问http://localhost/reports ,这是Reporting Services的管理站点,在Properties(属性)页面下添加一个只有Browser(浏览者)
     权限的新Role(角色)。注意新角色的用户名称即IUSR_** (匿名用户)。这一步就是那篇文章中步骤。(如图)

1、  点击“新建角色分配”
   2、  弹出的IE窗口中,“组或用户名” 文本框输入IUSR_** (匿名用户)。
   3、  勾选“浏览者”权限,点OK按钮确定。
   4、  返回到http://localhost/reports 页面中会新出现添加的Role(角色)。

第二步:除了要设置Reporting Services的IIS站点能允许IUSR_**(匿名用户)访问外,首先需要设置SQL Server 2005 中相应的数据库能允许IUSR_**(匿名用户)有只读的访问权限和执行存储过程的权限。因为有些报表可能是由存储过程生成的。
 
      在运行SQL Servier 2005 的数据库服务器中,打开Microsoft SQL Server Management Studio。
      在Object Explorer(对象浏览器)中找到Security(安全性)目录下的Logins(登录名)目录上点右键,
      在Logins(新建登录名...),在弹出的对话框中设置。
      或是在“安全性”上点右键-->新建-->登录。(如图)

1、  右键菜单选择“新建登录名...”。

2、  在登录名文本框中,输入IUSR_**(匿名用户),选择 “Windows 身份验证”。

3、  在“默认数据库”下拉列表框找到Reporting Services制作的报表模板的数据源数据库。

4、  在“选择页”列表中点击“用户映射”。

5、  在“用户映射”页面中,在“映射到此登录名的用户”选择Reporting Services制作的报表模板的数据源数据库。

6、  OK确定

第三步:还是在Microsoft SQL Server Management Studio中,找到Reporting Services的数据源数据库,
                    在“安全性”-->“用户”下,找到刚才添加的IUSR_**(匿名用户)。设置他对该数据库的访问权限。(如图)

1、  在IUSR_**(匿名用户)上右键菜单选“属性”。
  2、  弹出的对话框中选择“安全对象”。
  3、  点击“添加…”。
  4、  再次弹出的对话框中选择“特定类型的所有对象(T)....”。
  5、  点击“确定”按钮。
  6、在弹出的对话框中的“选择要查找的对象类型(S)”列表框中选“数据库”。
  7、  点击“确定”。

还是第三步:选择IUSR_**(匿名用户)对该数据库许可的操作。

1、在“*** 的显示权限(P)”列表中,找到Select和Execute(如果不执行存储过程,可以不选),勾选。
  (注:你会看到Connect后面是默认勾选的,因为前面设置的默认登录到数据库就是该数据库)

2、点击“确定”。

   

第四步:设置IUSR_**(匿名用户)的登录密码。
    1.控制面板-->管理工具-->计算机管理-->本地用户和组-->选择“IUSR_**(匿名用户)”-->设置密码.(如图)-->在弹出窗口中点击“继续”-->在弹出窗口中修改密码。



  第五步:打开IIS管理器,设置ReportServer虚拟目录为匿名访问。

1、  打开IIS管理器,在ReportServer虚拟目录上单击邮件选择“属性”。

2,3、  在“目录安全性”页面,找到“身份验证和访问控制”,点击“编辑...”。

4、  在弹出的“身份验证方法”对话框,勾选“启用匿名访问”。
   5、  在密码输入框中输入在第四步中修改的密码。
   6、  在“用户访问需经过身份验证”的位置,默认是选中“集成Windows身份验证”。在这儿可以不用修改它。
            如果去掉了“集成Windows身份验证”前面的勾选,则本机(IIS服务器所在机器)对Reporting Services Web站点的访问也成了匿名访问。

7、  点击“确定”。

第六步:再通过其他的客户端机器访问Reporting Services Web站点,则不再出现Windows用户登录窗口。对Reporting Services Web站点的访问已经更改为匿名用户的访问。

但是注意,有个问题会同时出现。我们再次访问http://localhost/reports 时发现,将不能对Reporting Services的权限分配。
打开http://localhost/reports 能够看到的是只有“内容”一个分类页面的选项,“属性”选项则不会出现了。
这该是Reporting Services产品刻意设计的,因为所有的用户都可以匿名访问Web站点了,权限如果放开了随便改肯定不行。

如果再需要修改/reports的“属性”,唯一能做的就是重新打开IIS的管理器,去掉/reportserver中的“匿名访问”选项,再来修改。
修改后,再将/reportserver改为“匿名访问”。

原帖:http://blog.csdn.net/wangjh422/archive/2008/02/19/2104853.aspx

Reporting Service部署之访问权限的更多相关文章

  1. [转]Reporting Service部署之访问权限

    本文转自:https://www.cnblogs.com/lonelyxmas/p/4112638.html 原文:Reporting Service部署之访问权限 SQL Server Report ...

  2. Reporting Service 2016 匿名访问配置

    环境:SQL SERVER 2016 一.修改配置文件 需要修改的配置文件目录C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Repo ...

  3. Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)

    http://www.cnblogs.com/syfblog/p/4651621.html Sql Server Report Service 的部署问题 近期在研究SSRS部署问题,因为以前也用到过 ...

  4. 怎样提高Windows Azure Cloud Service中的WebRole的文件访问权限

    关键字:WebRole 1. 背景 Web应用程序需要读取和写入该项目下的文件的权限. 在默认情况下,W3wp.exe 和WaIISHost.exe的运行账号是Network Service,而Net ...

  5. service 03 iis之服务器无访问权限

    这两天在Service 03 的iis 6.0 里面配置一个aspx 的网站 ,总是遇到一个问题  401.2   无权限访问,于是去百度了一下好多的方法,基本上是关于设置匿名用户,打开IUSER用户 ...

  6. Reporting Service 没有权限登陆

    在配置好Reporting Service之后,登陆Report Mananger( http://localhost/Reports/Pages/Folder.aspx)出现一个异常,本地用户没有权 ...

  7. 【解决】SharePoint集成模式下Reporting Service—为用户授予的权限不足,无法执行此操作。 (rsAccessDenied)

    环境:Windows Server 2008 R2 SP1,SharePoint 2010 企业版,SQL Server 2008 R2 Reporting Service(SharePoint集成模 ...

  8. Confluence 6 给一个从 Jira Service Desk 的非许可证用户访问权限

    如果你正在使用 Confluence 为 Jira 服务桌面(Jira Service Desk)的知识库,你可以选择允许所有活动的用户和客户(客户是可以登录的用户,但是这些用户是没有 Conflue ...

  9. SQL Server Reporting Service(SSRS) 第六篇 SSRS 部署总结

    前段时间完成了第一批次SSRS报表的开发,本来以为大功已经告成,结果没有想到在整个发布与部署过程中还是遇到了很多的问题,现将这些问题一一列举出来,希望对以后能够有所启发! 1. 关于数据源与数据集的发 ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议[1-3]

    原文:编写高质量代码改善C#程序的157个建议[1-3] 前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理 ...

  2. (大数据工程师学习路径)第四步 SQL基础课程----select详解

    准备 在正式开始本内容之前,需要先从github下载相关代码,搭建好一个名为mysql_shiyan的数据库(有三张表:department,employee,project),并向其中插入数据. 具 ...

  3. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  4. 鸟哥的私房菜上 xpenguins 设备(ubuntu 12.04)

    看了一个暑假linux,我觉得很辛苦啊,要很好地利用linux并不是的easy... 今天装了一下鸟哥课后给的xpenguins软件,就是桌面特性软件.会有非常多企鹅下落,本以为能够非常轻松的搞定.没 ...

  5. HTML5使用和实战分析HTML5 WebSocket API

    通过引入一个简单的界面(请参见下面的列表),开发替代技术,由于长轮询和"永远框架,从而进一步减少延迟. 后台代码 [Constructor(in DOMString url, optiona ...

  6. SQL Prompt——SQL智能提示插件

    数据库是大家在项目开发中肯定会用到的,C#项目用的最多的就是微软自家的SQL Server了.不可否认,微软的Visual Studio开发平台很好用,很直观的体现就是智能提示.敲几个字符,相关的信息 ...

  7. hdu 4915 Parenthese sequence--2014 Multi-University Training Contest 5

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4915 Parenthese sequence Time Limit: 2000/1000 MS (Ja ...

  8. 如何让虚拟机识别插入的USB闪存驱动器

    首先,打开虚拟机,再就是工具栏 有一台虚拟机 -> 移动设备  -> usb ->欧克. 版权声明:本文博主原创文章,博客,未经同意不得转载.

  9. Java设计模式菜鸟系列(四)工厂方法模式建模与实现

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39760895 工厂方法模式(Factory Method) 工厂方法:顾名思义,就是调用工 ...

  10. HDU 4793 2013 Changsha Regional Collision[简单的平面几何]

    圆形奖章给定半径的半径和圆形区域.另一个硬币的半径,然后在桌面上平稳.给定硬币的速(的大小和方向,vx,vy)和坐标(奖牌同心圆形区域,圆和心脏为源),Q币在一个圆形区域和多少下滑(不管是什么圆形区域 ...