技术开发 频道

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



    【IT168 技术文档】一位朋友提出个问题:集成到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(角色)。



    第二步:除了要设置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”(数据库访问)。


0
相关文章