博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL2008报表三种实现Reporting Service2008匿名访问的方法(转)
阅读量:6273 次
发布时间:2019-06-22

本文共 2894 字,大约阅读时间需要 9 分钟。

实现Reporting Service2008 的匿名访问是件比较费劲的事情,网上提供的方法挺多的,但总结起来起来能用的就三种:

  一种通过ReportViewer控件显示报表,在系统中添加一个专用用户,权限限制在浏览级别,然后在代码中实现身份接口,指定控件以该用户身份登录,这是变相的匿名访问;(详细见http://www.cnblogs.com/lonely7345/archive/2010/01/10/1643603.html)

  第二种是通过WebService来访问报表,是本人一篇博文(http://www.cnblogs.com/dege301/archive/2009/09/04/1560456.html)中介绍方法的衍生,细节不在说明,类似于第一种方法需要指定专门用户,也不是真正意义上的匿名访问;

  第三种就是MSDN上能找到的那种,更改4个配置文件并添加一个.dll文件,经本人测试,如果完全按照给的说明操作不可行,会出现“报表配置错误”,但经过一些列改动之后该方法可行,并且是真正意义上的匿名访问,将在下文中给出详细步骤。

涉及到的配置文件如下(目录视具体安装情况):

1. C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer下的web.config、rsreportserver.config、rssrvpolicy.config

2. C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager下的web.config

注意:在配置之前先备份以上文件,以防失败!!!

配置过程:

1. 找到两个Web.config文件中的如下代码:

<authentication mode="Windows" />

<identity impersonate="true" />

替换成:

<authentication mode="None" />

<identity impersonate="false"/>

2. 找到rsreportserver.config文件中的如下代码:

<Authentication>

<AuthenticationTypes>

<RSWindowsNegotiate/>

<RSWindowsNTLM/>

</AuthenticationTypes>

<EnableAuthPersistence>true</EnableAuthPersistence>

</Authentication>

替换成:

<Authentication>

<AuthenticationTypes>

<Custom/>

</AuthenticationTypes>

<EnableAuthPersistence>true</EnableAuthPersistence>

</Authentication>

3. 把文件Microsoft.Samples.ReportingServices.AnonymousSecurity.dll放到C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin目录下(注意:目录视具体安装情况而定)

4. 找到rsreportserver.config文件中的如下代码:

<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. 找到文件rssrvpolicy.config中的如下代码:

</NamedPermissionSets>

<CodeGroup

class="FirstMatchCodeGroup"

version="1"

PermissionSetName="Nothing">

<IMembershipCondition

class="AllMembershipCondition"

version="1"

/>

在后面添上如下代码(注意Url地址可能不同):

<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="Private_assembly" Description="This code group grants custom code full trust."> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER2008\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll" />

</CodeGroup>

6. 重启Reporting Service服务。

你可能感兴趣的文章
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
软件测试(二)之 Failure, Error & Fault
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
角色权限分配
查看>>
明小子动力上传拿webshell.zip
查看>>
ES6 Module export与import复合使用
查看>>
第三篇、image 设置圆角的几种方式
查看>>
关于Vs2010 C#使用DirectX的问题
查看>>
EPP(Eclipse PHP)语法高亮仿EditPlus配置
查看>>
OA账号架构权限的问题
查看>>
030——VUE中鼠标语义修饰符
查看>>
python编辑csv
查看>>
sql游标的使用与exec的两种用法
查看>>