原文: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服务器。

第一步:在运行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发布web报表的匿名访问的更多相关文章

  1. 浅析SQL Server 2005中的主动式通知机制

    一.引言 在开发多人同时访问的Web应用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫.这是因为,如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话,可以避 ...

  2. SQL Server 2005 中的分区表和索引

    SQL Server 2005 中的分区表和索引 SQL Server 2005          69(共 83)对本文的评价是有帮助 - 评价此主题   发布日期 : 3/24/2005 | 更新 ...

  3. 如何对SQL Server 2005进行设置以允许远程连接(转载)

    如何对SQL Server 2005进行设置以允许远程连接(转载) 在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息.在使用任何程序连接到 S ...

  4. 深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数

    原文:深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数 概述 COLUMNS_UPDATED函数能够出现在INSERT或UPDATE触发器中AS关键字后的任何位置,用来 ...

  5. SQL Server 2005中的分区表

    记录笔记: 转自 猪八戒学做网站 SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表? SQL Server 2005中的分区表(二):如何添加.查询.修改 ...

  6. SQL Server 2005中更改sa的用户名和密码

    修改数据库SA账号名称的代码如下:  代码如下: Alter LOGIN sa DISABLE Alter LOGIN sa WITH NAME = [systemAccount] "sys ...

  7. SQL Server 2005 中实现通用的异步触发器架构

    在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...

  8. SQL SERVER 2005中同义词实例

    From : http://www.cnblogs.com/jackyrong/archive/2006/11/15/561287.html 在SQL SERVER 2005中,终于出现了同义词了,大 ...

  9. SQL Server 2005中的分区表(六):将已分区表转换成普通表(转)

    我的俄罗斯名叫作“不折腾不舒服斯基”,所以,不将分区表好好折腾一下,我就是不舒服. 在前面,我们介绍过怎么样直接创建一个分区表,也介绍过怎么将一个普通表转换成一个分区表.那么,这两种方式创建的表有什么 ...

随机推荐

  1. kendoui仪表板和直方图 演示样本

    到那个时刻kendeodui我相信大家一定不陌生.该js在绘画方面的好成绩. 现在来看看 它的仪表盘和直方图效果: html和js代码例如以下: <!DOCTYPE html> <h ...

  2. hdu 4035 Maze(期待更多经典的树DP)

    Maze Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total Submi ...

  3. .NET开发者必备的11款免费工具

    原文:.NET开发者必备的11款免费工具 如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担.本文为开发者介绍了 ...

  4. C语言功能 --C

    功能名称: cabs 动力 能够: 计算绝对复数值 使用 法国: double cabs(struct complex z); 程序示例: #include <stdio.h> #incl ...

  5. uva 10228 - Star not a Tree?(模拟退火)

    题目链接:uva 10228 - Star not a Tree? 题目大意:给定若干个点,求费马点(距离全部点的距离和最小的点) 解题思路:模拟退火算法,每次向周围尝试性的移动步长,假设发现更长处, ...

  6. 微软将彻底改变Windows发布方式

    看到网上的新闻信息: 微软上任 CEO 史蒂夫·鲍尔默在职最后一段时间引入了更快的产品公布周期.不再向从前那样,每隔几年公布一次重大产品升级,而是功能一旦开发完成就会推送升级. 显然,现任 CEO 纳 ...

  7. MySQL定义和变量赋值

    变量可以在子程序(性能.存储过程.匿名块)声明和使用.这些变量的范围是在BEGIN...END规划. 变量的定义 语法格式: DECLARE var_name [, var_name]... data ...

  8. DFS-leetcode Combination Sum I/I I

    深度优先搜索(DFS)它是一个搜索算法.第一次接触DFS它应该是一个二进制树的遍历内部,二叉树预订.序和后序实际上属于深度遍历-first.在本质上,深度优先搜索,遍历中则看到了更纯正的深度优先搜索算 ...

  9. AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel

    原文:AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel 在页面上(.aspx)<asp:UpdatePanel ID="MyID1" runat= ...

  10. 【网络流量-二部图最大匹配】poj3041Asteroids

    /* 这个问题将是每行一个x作为节点x,没有列y作为节点y,障碍物的坐标xy来自x至y的 边缘.图建的问题后,变成,拿得最少的点,因此,所有这些点与相邻边缘,即最小 点覆盖,与匈牙利算法来解决. -- ...