Microsoft SQL SERVER 2008 R2 REPORT SERVICE 匿名登录

SQL SERVER 2008 R2 是微软目前最新的数据库版本,在之前的SQL SERVER 2005中,我们可以通过修改IIS对应的SSRS站点及SSRS的配置文件,将SSRS配置成匿名登录的方式,把报表集成到系统中,而现在SSRS2008 R2已经和IIS完全分离,所以说我们在沿用2005的配置方法是不可行的,为了让大家能够更好的了解,下面将先给大家简单介绍一下我在开发过程中,遇到的集成SSRS报表的场景。不同的集成有不同的解决方案。

1、ASP.net中集成SSRS的报表,这种集成方式,我们一般采用的方法是使用Report viewer控件展示报表,在这种情况下,如果,我们不做任何的处理,客户端在访问我们的报表时会提示window身份验证的输入框,我们只有输入用户名和密码才能正常的访问报表,在这种场景下,如果,我们想去掉windows的验证框,我们可以实现SSRS的一个接口(IReportServerCredential),该接口提供报表的三种身份验证方式(WindowsCredential、NetWorkCrendtial、FormCredential),而我们要使用的就是第二种身份验证方式。我们需要实现接口中的方法,new NetWorkCredential(username,password,domain)然后将Report Viewer的Credential属性设置成我们实现接口类的对象,这样就间接的实现了我们的报表匿名登录。

当然,在第一种场景中,我们也可以使用SSRS的webservice,目前webservice的版本有2005、2010两个版本,直接将webservice添加引用即可(http://hostname:port/reportserver/reportservice2005.asmx或reportservice2010.asmx),这里就不详细说了。

2、第二种方式是在sharepoint中集成SSRS报表,这种方式,我们一般采用部署的方式,就可以解决SSRS访问权限的问题,我们一般采用将SSRS安装成,sharepoint集成模式的安装方式,这样SSRS就会继承sharepoint的权限管理,我们要做的就是做好sharepoint的权限控管就可以了。

3、第三种方式,也是我们今天着重要推荐的方式,是通过修改配置文件,以及添加程序集的方式,实现SSRS真正意义上的匿名登录。下面我把步骤介绍给大家。

3(1)、首先我们找到SSRS安装目录下的两个web.config配置文件,默认安装目录分别是(C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer和C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager),然后,找到两个配置文件中的

<authentication mode="windows" />

<identity impersonate="true" />

将其改为

<authentication mode="None"/>

<identity impersonate="false" />

3(2)、找到(C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer)目录下的rsreportserver.config文件,找到配置文件中的

<Authentication> <AuthenticationTypes> <RSWindowsNegotiate/> <RSWindowsNTLM/> </AuthenticationTypes> <RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>

将其改为

<Authentication> <AuthenticationTypes> <Custom/> </AuthenticationTypes> <RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>

然后找到配置文件中的

<Security>   <Extension Name="Windows" Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization, Microsoft.ReportingServices.Authorization"/> </Security> <Authentication>   <Extension Name="Windows" Type="Microsoft.ReportingServices.Authentication.WindowsAuthentication, Microsoft.ReportingServices.Authorization"/> </Authentication>

将其改为

<Security>   <Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.Authorization, Microsoft.Samples.ReportingServices.AnonymousSecurity"/> </Security> <Authentication>   <Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.AuthenticationExtension, Microsoft.Samples.ReportingServices.AnonymousSecurity"/> </Authentication>

从上边两个节点中我们可以看出,我们需要引用一个dll文件,就是Microsoft.Samples.ReportingServices.AnonymousSecurity.dll,我们需要将这个dll放入到(C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin)目录下。

3(3)、在将dll放入到目录以后,我们来继续修改我们的配置文件,在(C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer)目录下,找到rssrvpolicy.config

找到

<CodeGroup class="FirstMatchCodeGroup" version="1" PermissionSetName="Nothing"> <IMembershipCondition class="AllMembershipCondition" version="1" />

在其下边追加如下节点(红色部分,按照你的实际路径而定)

<CodeGroup class="UnionCodeGroup"  version="1"                                                              PermissionSetName="FullTrust"  Name="Private_assembly" Description="This code grou p grants custom code full trust.">

<IMembershipCondition class="UrlMembershipCondition"

version="1"  Url="C:\Program Files\Microsoft SQL

Server\MSRS10_50.MSSQLSERVER2008\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll" />

</CodeGroup>

到此为止,我们匿名登录的方式,配置工作就完成了,下面我将在配置完成后访问报表时,出现的几种错误的解决方法说明一下。

博客原文:http://blog.sina.com.cn/s/blog_7778950d0100qa61.html

dll 下载 ssrs_onekey_nologin.zip

时间: 2024-10-11 21:56:15

Microsoft SQL SERVER 2008 R2 REPORT SERVICE 匿名登录的相关文章

数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)

让我们来看看在备份序列新手 --1.塔建环境(生成测试数据和备份文件) /* 測试环境: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) */ USE mast

数据库备份还原顺序关系(环境:Microsoft SQL Server 2008 R2)

让新手们了解一下备份顺序 --1.塔建环境(生成测试数据和备份文件) /* 测试环境: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) */ USE maste

[MS]Microsoft SQL Server 2008 R2 开发版/企业版/标准版

Microsoft? SQL Server? 2008 R2 是一个功能强大且可靠的数据管理系统,它功能丰富,能保护数据,并且可改善嵌入式应用程序.轻型网站和应用程序以及本地数据存储区的性能. 数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB(可用,已验证)DDT3B-8W62X-P9JD6-8MX7M-HWK38(待测) 开发版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM (可用,已验证)FTMGC-B2J97-PJ4QG-V84YB-MTXX8(待测)

Microsoft SQL Server 2008 R2完全卸载再安装手册

  Microsoft SQL Server 2008 R2安装后,可能一些原因导致程序故障,需要重新安装,但是卸载后,很难再进行安装,基本都会报错,导致程序无法正常安装使用,以下是亲测有效的方法,屡试不爽,以及一些其它可能出现的问题,如参照以下方法仍旧不能解决,建议重新安装系统,再安装数据库,这是最简单最有效的方法,. 第一部分完全卸载Microsoft SQL server 2008 R2 首先进入控制面板:鼠标左键点击左下角windows图标键 2. 进入后选择程序和功能 找到Micros

卸载Microsoft SQL Server 2008 R2 安装程序

在卸载Microsoft SQL Server 2008 R2 安装程序(简体中文)  出现 :"警告 26003.无法卸载 Microsoft SQL Server 2008 R2 安装程序支持文件,因为安装了以下产品:SQL Server 2008 R2 SP1 Database Engine Shared   SQL Server 2008 R2 SP1 Common Files".但是在程序列表中并未找到该程序,在网上找了找资料,可以使用 WMIC(Windows Manage

Microsoft SQL Server 2008 R2 安装卸载

问题 问题1 标题: Microsoft SQL Server 2008 R2 安装程序 ------------------------------ 出现以下错误: Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC.   Verify that you have sufficient access to that key, or con

Microsoft SQL Server 2008 R2附加数据库报错5120解决办法

Microsoft SQL Server 2008 R2数据库附加报错5120,是权限的问题解决办法:邮件数据库文件的属性选中Authenticated Users 然后选中编辑把完全控制勾选上 单击确定,然后就可以附加数据库了 ! 若有疑问可以联系我www.jiangyong.net.cn,里面有我的QQ

Microsoft SQL Server 2008 R2 安装遇到的问题

SQL Server 安装过很多次了,第一次遇见这样的问题: TITLE: Microsoft SQL Server 2008 R2 安装程序------------------------------ 出现以下错误: An error occurred during the installation of assembly 'Microsoft.VC80.CRT,version="8.0.50727.42",type="win32",processorArchit

SQL Server 2008 R2 Service Pack 3 已经发布

微软SQL Server Product Team在9月26号官方博客宣布,Microsoft SQL Server 2008 R2 Service Pack 3 (SP3)正式发布了 .具体信息可以参考官方发布的博客SQL Server 2008 R2 Service Pack 3 has released. SQL Server 2008 R2 SP3 累计了了自 SQL Server 2008 R2 SP2以后的13个跟新(具体内容可以参考链接地址) http://support2.mic