实现Reporting Service2008匿名访问的方法

同样适用于2008 R2。

ReportingService是个很强大的报表引擎!但实现Reporting Service2008 的匿名访问是件比较费劲的事情,网上提供的方法挺多的,但都不适用于使用URL方式访问。

RS2005依赖于IIS,可使用IIS的匿名账户进行匿名登录访问。而RS2008不依赖于IIS,即无法通过IIS的匿名账户进行访问,也就是你访问需要输入有效的用户名及密码。

被逼无奈求助谷歌大神!找到一篇“Anonymous access in SQL RS 2008”的文章,仔细看看,根据内容进行配置。无奈没用,仔细研究找原因:“F××× You!!” 我装的是64位的MSSQL2008,我竟然在32位的目录下设置来,设置去,无奈我傻×了。找准对象重新来,“Bingo!” OK了!下面是设置方法。原文请见:http://blogs.msdn.com/b/jameswu/archive/2008/07/15/anonymous-access-in-sql-rs-2008.aspx

我这就就简单翻一下,做个记录。

1、找到RS2008的安装目录,如果你是64位系统,并且安装的是64位的MSSQL2008,并且是默认路径安装,请移步文件夹:C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQL2008\Reporting Services  否则请根据你自己的设置去找。

2、备份文件(注意文件夹):

①\ReportServer\web.config

②\ReportServer\rssrvpolicy.config

③\ReportServers\rsreportserver.config

④\ReportManager\Web.config

3、修改①、④两个文件

查找:

<authentication mode="Windows" />
<identity impersonate="true"/>

替换为:

<authentication mode="None" />
<identity impersonate="false"/>

4、修改③文件

查找:

<Authentication>
<AuthenticationTypes>
××××××××××××××××××××××××××××××××××××××
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>

替换为:

<Authentication>
<AuthenticationTypes>
<Custom/>
</AuthenticationTypes>
<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>

5、下载文件:AnonymousSecurity.dll 解压保存到目录“\ReportServer\bin\”文件夹下。

6、修改②文件

查找:

<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 group grants custom code full trust. ">
<IMembershipCondition
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQL2008\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll"
/>
</CodeGroup>

到此为止配置结束,重启RS服务即可

posted @ 2012-10-31 08:44  Nina  阅读(2778)  评论(1编辑  收藏  举报