一位朋友提出个问题:集成到
SQL Server 2005
中的
Reporting Services
已经将报表模板发布到
IIS
服务器,客户端通过浏览器访问时,默认会弹出
Windows
集成身份验证的对话框。如果在
IIS
配置里面把允许匿名(
IUSR_**
)访问的选项勾选,客户端再次访问的时候,会提示
IUSR_**
访问权限不足。
对于这个问题,除了要设置
IIS
允许匿名访问外,还需要设置
Reporting Services
站点的访问权限和
SQL Server
中数据源的用户访问权限。
下面我将把需要做的步骤列出来,大家注意前提是使用
Visual Studio .NET 2005
已经正确的发布了
Reporting Services
制作的报表模板到
IIS
服务器。
第一步:在运行
IIS
的
Web
服务器的本地访问
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
(角色)。
第二步:除了要设置
Reporting Services
的
IIS
站点能允许
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
”(数据库访问)。
第三步:在
Data Access
页面中,在
Databases accessible by this login
(数据库默认登录)选择
Reporting Services
制作的报表模板的数据源数据库。
1、
选择数据库
2、
OK
确定
第四步:还是在
Microsoft SQL Server Management Studio
中,找到
Reporting Services
的数据源数据库,在“
Security
”(安全)下的“
Users
”(用户)下,找到刚才添加的
IUSR_**
(匿名用户)。设置他对该数据库的访问权限。
1、
在
IUSR_**
(匿名用户)上右键菜单选
Properties
(属性)。
2、
弹出的对话框中选择
Permissions
(许可)。
3、
点击“
Add Objects…
”(增加对象)。
4、
再次弹出的对话框中选择“
Add objects of types
”。
还是第四步:弹出的对话框中选
Databases
(数据库的)。
1、
Select Object Types
(选择对象类型)对话框选择“
Databases
”(数据库的)。
2、
OK
确定。
还是第四步:选择
IUSR_**
(匿名用户)对该数据库许可的操作。
1、
在
Permissions for ***
列表中,找到
Select
,勾选。(注:你会看到
Connect
后面是默认勾选的,因为前面设置的默认登录到数据库就是该数据库)
2、
OK
确定。
第五步:打开
IIS
管理器,设置
ReportServer
虚拟目录为匿名访问。
1、
打开
IIS
管理器,在
ReportServer
虚拟目录上单击邮件选择“
Properties
”(属性)。
2、
在“目录安全性”页面,找到“身份验证和访问控制”,点击“编辑
...
”。
3、
在弹出的“身份验证方法”对话框,勾选“启用匿名访问”。
4、
在“用户访问需经过身份验证”的位置,默认是选中“集成
Windows
身份验证”。在这儿可以不用修改它。如果去掉了“集成
Windows
身份验证”前面的勾选,则本机(
IIS
服务器所在机器)对
Reporting Services Web
站点的访问也成了匿名访问。
5、
OK
确定。
第六步:再通过其他的客户端机器访问
Reporting Services Web
站点,则不再出现
Windows
用户登录窗口。对
Reporting Services Web
站点的访问已经更改为匿名用户的访问。
但是注意,有个问题会同时出现。我们再次访问
http://localhost/reports
时发现,将不能对
Reporting Services
的权限分配。打开
http://localhost/reports
能够看到的是只有
Contents
(内容)一个分类页面的选项,“
Properties
”(属性)选项则不会出现了。这该是
Reporting Services
产品刻意设计的,因为所有的用户都可以匿名访问
Web
站点了,权限如果放开了随便改肯定不行。
再一想,
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
改为“匿名访问”。
分享到:
相关推荐
通过上述四个步骤,可以有效地配置SQL Server 2005中的Reporting Services以支持匿名访问。这些步骤包括在Reporting Services站点设置匿名用户角色、在SQL Server中为匿名用户配置登录及权限、以及在IIS中开启匿名...
在SQL Server 2008中的Reporting Services,允许匿名访问报表是实现无认证用户查看报告的一种方式。以下是如何设置Reporting Service for SQL 2008以支持匿名访问报表的详细步骤: 1. **编译AnonymousSecurity组件*...
本篇文章将深入探讨如何解决SQL 2008中Report Server的匿名访问问题,以便在部署RS时不需每次都输入身份验证信息。 首先,我们需要理解SQL Server 2008的认证机制。默认情况下,RS使用Windows集成认证,这意味着...
6. **使用示例代码**: `Microsoft.Samples.ReportingServices.AnonymousSecurity.dll` 文件可能是一个示例库,提供了实现匿名访问的代码示例。开发者可以参考这个库来了解如何编程式地处理Reporting Services的匿名...
7. **Microsoft.Samples.ReportingServices.AnonymousSecurity.dll**:这个DLL文件可能是一个示例库,展示了如何扩展Reporting Services的安全性,以支持匿名访问。它可能包含自定义代码或模块,用于处理匿名用户的...
9. 报表和统计:系统可能集成了报表生成和数据分析功能,例如使用Crystal Reports或SSRS(SQL Server Reporting Services),帮助管理层获取业务指标和决策依据。 10. 移动设备支持:随着移动办公的需求增加,OA...
1. **Reporting Services**:SQL Server Reporting Services 是一个用于生成、管理和分发报表的服务,它依赖于IIS来提供Web服务接口,使得用户可以通过浏览器查看报表。 2. **Analysis Services**:SQL Server ...
- ** Reporting Services**:SQL Server 2005的Reporting Services需要IIS来发布报表,用户可以通过Web浏览器访问报表。 - **Analysis Services**:IIS用于提供OLAP(在线分析处理)的Web接口,使得用户可以通过...
1. **SQL Server 2005中的T-SQL**:T-SQL(Transact-SQL)是用于操作SQL Server数据库的编程语言,用于执行查询、更新、插入和删除等操作。 2. **SSIS(SQL Server Integration Services)**:SSIS是数据集成和ETL...
16.4.2 用SQL Server 2005 Analysis Services的数据创建指标 361 16.5 手动实现KPI 363 16.6 小结 364 第17章 实现业务数据目录 365 17.1 确定业务数据 365 17.1.1 确定数据源 365 17.1.2 确定场景和目标 366 17.2 ...
其内置的 Reporting Services 和 Analysis Services 还能帮助管理者生成报表和进行数据分析,为决策提供有力支持。 考务信息管理系统的核心功能包括: 1. 考生管理:录入、修改、删除考生基本信息,如姓名、学号、...
11. **报表和分析**:可能涉及到使用Crystal Reports或SQL Server Reporting Services创建电子商务相关的报表,如销售报告、库存分析等。 12. **SEO优化**:如何通过元标签、URL重写和XML站点地图提高网站的搜索...
统计管理和成绩导出可能运用到数据分析和报表生成技术,如SQL Server Reporting Services或者使用Excel的自动化接口,将学生表现数据转化为可视化报表,便于教师分析。 七、安全与权限控制 在线学习平台的安全性至...
这可能涉及Crystal Reports、 Reporting Services或自定义的报表引擎。报表数据可以从数据库中查询并格式化为用户友好的视图。 5. **界面设计**:使用ASP.NET Web Forms或ASP.NET MVC,可以创建用户友好的Web界面。...