SQL Server 2005中设置Reporting Services发布web报表的匿名访问-阿里云开发者社区

开发者社区> 杰克.陈> 正文

SQL Server 2005中设置Reporting Services发布web报表的匿名访问

简介: 原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问         一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services已经将报表模板发布到IIS服务器,客户端通过浏览器访问时,默认会弹出Windows集成身份验证的对话框。
+关注继续查看
原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问

        一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services已经将报表模板发布到IIS服务器,客户端通过浏览器访问时,默认会弹出Windows集成身份验证的对话框。如果在IIS配置里面把允许匿名(IUSR_**)访问的选项勾选,客户端再次访问的时候,会提示IUSR_** 访问权限不足。

 

    对于这个问题,除了要设置IIS允许匿名访问外,还需要设置Reporting Services站点的访问权限和SQL Server中数据源的用户访问权限。

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

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

1、  点击“New Role Assignment”(分配新角色)

2、  弹出的IE窗口中,Group or user name(组或用户名) 文本框输入IUSR_** (匿名用户)。

3、  勾选Browser(浏览者)权限,点OK按钮确定。

4、  返回到http://localhost/reports 页面中会新出现添加的Role(角色)。

img_978eb3782adb4a5754f8ce3223c21f86.gif

第二步:除了要设置
Reporting ServicesIIS站点能允许IUSR_**(匿名用户)访问外,首先需要设置SQL Server 2005 中相应的数据库能允许IUSR_**(匿名用户)有只读的访问权限。

 

在运行SQL Servier 2005 的数据库服务器中,打开Microsoft SQL Server Management Studio。在Object Explorer(对象浏览器)中找到Security(安全)目录下的Logins(登录),在Logins(登录)图标上面单击右键快捷菜单上,选择New Login…(新登录),弹出的对话框中设置。

1、  右键菜单选择New Login…(新登录)。

2、  Windows authentication 中的Login Name(登录名)文本框,输入IUSR_**(匿名用户)。

3、  Defaults(默认)的Database(数据库)下拉列表框找到Reporting Services制作的报表模板的数据源数据库。

4、  Select a page(选择一个页面)列表中点击“Database Access”(数据库访问)。

img_7ddbf1d912d2489bf0820fb52c7f5f63.gif

第三步:在Data Access页面中,在Databases accessible by this login(数据库默认登录)选择Reporting Services制作的报表模板的数据源数据库。

1、  选择数据库

2、  OK确定

 

 img_259b42217b3a15bf8723399fd7913969.gif

 

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

1、  IUSR_**(匿名用户)上右键菜单选Properties(属性)。

2、  弹出的对话框中选择Permissions(许可)。

3、  点击“Add Objects…”(增加对象)。

4、  再次弹出的对话框中选择“Add objects of types”。

 img_0ebda7f8ab68dfa353388b6506a785c4.jpg

    还是第四步:弹出的对话框中选Databases(数据库的)。

1、  Select Object Types(选择对象类型)对话框选择“Databases”(数据库的)。

2、  OK确定。

 img_9a83093540114d4913948c1aabacb8f0.gif

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

 

1、          Permissions for *** 列表中,找到Select,勾选。(注:你会看到Connect后面是默认勾选的,因为前面设置的默认登录到数据库就是该数据库)

2、          OK确定。

 img_9219482806fe37bf7539a875e0ca0623.gif

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

 

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

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

3、  在弹出的“身份验证方法”对话框,勾选“启用匿名访问”。

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

5、  OK确定。

 img_1f43acb4a28a955b52727b86271bcc53.gif

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

 

 img_b2da2211c26870675142416a8cb45616.jpg 

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

 img_10823dfa5ce095fdf1da3a492c85abd3.gif

 

再一想,http://localhost/reports http://localhost/reportserver 这两个虚拟目录对应的物理目录是不同的。一个http://localhost/reports 对应的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager ;而http://localhost/reportserver 对应的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer。刚才对\reportserver的匿名访问权限的修改又怎么影响到\reports 了呢??

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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Elastic Engineering】Elasticsearch 中的一些重要概念: cluster, node, index, document, shards 及 replica
Elasticsearch 中的一些重要概念: cluster, node, index, document, shards 及 replica
6 0
【Elastic Engineering】Elasticsearch 中的一些重要概念: cluster, node, index, document, shards 及 replica
Elasticsearch 中的一些重要概念: cluster, node, index, document, shards 及 replica
2 0
【Elastic Engineering】Elasticsearch 简介
Elasticsearch 是一个非常强大的搜索引擎。
3 0
安卓平板体验Java开发,还能白嫖一年阿里无影云!真香
阿里无影云早有耳闻,前两天看朋友发体验照片,可能是程序员天生爱折腾的特性又发挥作用了,自己也没能忍住,赶快下载体验了一把,没想到“很香”。我体验了浏览器端、Windows 客户端和安卓平板端,下面就来聊聊使用的过程和使用体验。内含一年免费无影云的白嫖方法,千万别错过哦~
22 0
用阿里云飞天计划提供的CES服务器为高中生活搭建“故事簿”网页
一名刚踏入大学的大一本科生利用阿里云提供的CES服务器为高中“故事簿”搭建网页
15 0
阿里云对于学习的帮助
在配置好阿里云后的使用过程中发现的帮助,以及便利。
8 0
ECS使用体验
使用阿里云ECS几天体验
15 0
阿里ECS初体验
谈谈使用阿里ECS的体验感受
13 0
阿里云飞天加速计划
阿里云服务器是一个非常好的学习平台,我们定会用来提升自身的专业能力。
11 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载