报表管理器 Reporting services 2005 匿名访问

问题:

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

 

解决方案:

设置IIS允许匿名访问

设置Reporting Services站点的访问权限

SQL Server中数据源的用户访问权限。


 

详细步骤:

一、设置Reporting ServicesIIS站点能允许IUSR_**(匿名用户)访问

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

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

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

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

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


第二步:设置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、 在用户映射中设置此帐号对特定数据库的读取权限(图略)

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

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

2、  弹出的对话框中选择Permissions(安全对象)。

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

4、  再次弹出的对话框中选择“Add objects of types”(特定类型的所有对象)

5.弹出的对话框中选Databases(数据库的)。

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

6.选择IUSR_**(匿名用户)对该数据库许可的操作。

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


 

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

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

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

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

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

5、  OK确定。

6.同步方法进行配置Reports


 

 

原文地址:https://www.cnblogs.com/Snowfun/p/2959008.html