在IIS与SQL Server 2005中设置,让Reporting Services发布的web报表允许匿名访问

           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改为“匿名访问”。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在server1部署web服务(iis)可以通过以下步骤进行: 1. 首先,需要安装IIS(Internet Information Services)软件。在Windows Server操作系统IIS可以通过“服务器管理器”进行安装。在“服务器管理器”选择“角色”→“添加角色”→“Web服务器(IIS)”→“继续”→“选择所需角色服务”→在“Web服务器角色”选择“Web服务(IIS)”→“下一步”→“安装”。 2. 安装IIS后,需要进行一些配置。打开IIS管理器,右键单击“网站”→“添加网站”,在“添加网站”窗口输入网站名称,选择物理路径,选择IP地址和端口号,设置主机名(如果需要)等,并设置默认文档、目录浏览、错误页面等。完成以上配置后,就可以访问该网站。 3. 可以进行网站内容的添加和管理。在IIS管理器,双击网站,进入“内容视图”,可以看到网站的文件和文件夹,包括主页、图像、脚本等。可以在此处添加、编辑、删除网站内容。 4. 可以进行更进一步的配置。在IIS管理器,可以设置认证、授权、日志记录、性能监视、压缩等功能。可以设置网站的身份验证方式、授权规则、日志记录级别、性能监视指标、压缩算法等。 通过以上步骤,就可以在server1部署web服务(iis),并以相应的方式进行配置和管理。此时,服务器就能够承载网站,并向外部网络提供服务。 ### 回答2: 首先,在 server1 上安装 IIS (Internet Information Services,因特网信息服务),这是在 Windows 操作系统上可用的一种 Web 服务器软件。 1. 前往服务器管理器,单击 "管理",然后选择 "添加角色和功能"。 2. 在 "添加角色和功能向导" 窗口,单击 "下一步" 。 3. 选择 "基于角色或基于功能的安装" 并单击 "下一步"。 4. 选择 "服务器角色" ,在下拉菜单选择 "Web 服务器 (IIS)" ,然后单击 "添加功能" 选择"服务角色下的Web服务角色"。接下来,根据需要添加其他相关功能。 5. 单击 "下一步" 。 6. 在 "角色服务" 部分,选择您需要安装(IIS 基本组件、Web 管理工具、FTP 服务器等)。如果您不确定,请选择默认选项即可。 7. 单击 "下一步" 。 8. 接受许可协议,单击 "下一步" 。 9. 检查摘要信息并确保选择的选项正确。单击 "安装" 以开始安装过程。 10.安装完成后,您可以通过启动“Internet Information Services (IIS) 管理器” 来配置 IIS。 一旦 IIS 安装完成,您可以开始部署 web 服务了。 1.启动 IIS 管理器。 2.右键单击“网站”文件夹并选择“添加网站”。 3.在“添加网站”对话框,输入网站名称,选择网站的物理路径并输入内容。这可能会直接与项目文件夹绑定。 4.选择要使用的端口和 IP 地址,或让 IIS 自动选择它们。 5.共享位置可以接受默认选择。 6.根据需要选择身份验证,这可能包括基本身份验证和 Windows 身份验证。 7.完成添加网站向导后,可以通过网站管理功能启动、停止、重启、删除网站,以及其他配置,例如 SSL 绑定、应用程序池、组件等。 ### 回答3: 在部署web服务前,需要确保服务器已经安装了适当的操作系统和IIS服务。下面是在server1部署IIS的步骤: 1. 在服务器管理器,选择"角色",然后选择"添加角色"。 2. 在"添加角色向导",选择"Web服务器(IIS)"选项,然后选择"下一步"。 3. 确认"角色服务"选择了合适的选项。 4. 在"Web服务器(IIS)"选项,选择"Web服务器"、"安全"以及"应用程序开发"选项。 5. 选择"下一步",然后确认要安装的选项。 6. 点击"安装"等待安装过程完成。 7. 一旦安装完成,打开"Internet信息服务(IIS)管理器",然后进行配置。 8. 配置IIS后,可以添加站点或者应用程序。 在站点和应用程序配置时,需要考虑以下几个方面: 1. 网站名称-给站点起一个容易辨认的名称 2. 物理路径-指定站点的物理路径,即站点文件所在的位置。 3. IP地址-确保站点绑定了唯一的IP地址。 4. 端口号-一般情况下,站点绑定了80端口号,但可以更改。 5. 访问权限-确定访问站点的用户及其权限。 配置完成后,可以将站点绑定到域名或者服务器IP地址上。这样就可以通过浏览器访问该站点。 总的来说,在server1部署IIS需要注意以下几个方面:要先安装IIS服务,在配置站点和应用程序时,需要考虑物理路径、IP地址、端口号、访问权限等因素。 此外,想要使站点可访问,必须将其绑定到域名或者服务器IP地址上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值