匿名访问Reporting Service 2008_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 匿名访问Reporting Service 2008

匿名访问Reporting Service 2008

 2011/10/24 7:57:54  tedeum  http://tedeum.iteye.com  我要评论(0)
  • 摘要:我想通过访问Url的方式,把部署到SqlServerReportingService上的报表集成到Web应用中,但是直接访问地址总是要提示属于凭证,在网上找了几种方法都差不多,摘录一个:ReportingService是个很强大的报表引擎!但实现ReportingService2008的匿名访问是件比较费劲的事情,网上提供的方法挺多的,但都不适用于使用URL方式访问。RS2005依赖于IIS,可使用IIS的匿名账户进行匿名登录访问。而RS2008不依赖于IIS
  • 标签:Service

我想通过访问Url的方式,把部署到Sql Server ?Reporting Service 上的报表集成到Web应用中,但是直接访问地址总是要提示属于凭证,在网上找了几种方法都差不多,摘录一个:

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服务即可。

还有几个网站,但只有一个英文站给了源码,但是我编译后没有效果,希望有心人能继续研究:英文资料:http://blogs.msdn.com/b/jameswu/archive/2008/07/15/anonymous-access-in-sql-rs-2008.aspx

网友编译好的dll下载:http://files.cnblogs.com/zhukuanglong/ReportingServices.AnonymousSecurity.rar

?

参考资料:

http://blogs.msdn.com/b/jameswu/archive/2008/07/15/anonymous-access-in-sql-rs-2008.aspx

http://wenzhen.me/2011/07/%E5%AE%9E%E7%8E%B0reporting-service2008%E5%8C%BF%E5%90%8D%E8%AE%BF%E9%97%AE%E7%9A%84%E6%96%B9%E6%B3%95/

http://hi.baidu.com/liupras/blog/item/0041edea84fd64cbd439c924.html

http://blog.sina.com.cn/s/blog_7778950d0100qa61.html

http://www.fengfly.com/plus/view-172495-1.html

?

?

发表评论
用户名: 匿名