博客
关于我
在IIS与SQL Server 2005中设置,让Reporting Services发布的web报表允许匿名访问
阅读量:416 次
发布时间:2019-03-06

本文共 2695 字,大约阅读时间需要 8 分钟。

           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与网上的一篇文章(),之后解决了些问题。

    解决方案:
    除了要设置IIS允许匿名访问外,还需要设置Reporting Services站点的访问权限和SQL Server中数据源的用户访问权限。

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

     第一步:在运行IIS的Web服务器的本地访问 ,这是Reporting Services的管理站点,在Properties(属性)页面下添加一个只有Browser(浏览者)

     权限的新Role(角色)。注意新角色的用户名称即IUSR_** (匿名用户)。这一步就是那篇文章中步骤。(如图)

   1、  点击“新建角色分配”

   2、  弹出的IE窗口中,“组或用户名” 文本框输入IUSR_** (匿名用户)。
   3、  勾选“浏览者”权限,点OK按钮确定。
   4、  返回到 页面中会新出现添加的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站点的访问已经更改为匿名用户的访问。

 

        

但是注意,有个问题会同时出现。我们再次访问 时发现,将不能对Reporting Services的权限分配。

打开 能够看到的是只有“内容”一个分类页面的选项,“属性”选项则不会出现了。
这该是Reporting Services产品刻意设计的,因为所有的用户都可以匿名访问Web站点了,权限如果放开了随便改肯定不行。

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

 

转载地址:http://tmmkz.baihongyu.com/

你可能感兴趣的文章
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>