SQL2008 配置了ReporService后,可以访问了,但是每次都要输入Windows用户验证,很是繁琐。
那么我想实现匿名验证。
这里,需要大概知道下它的原理,我们访问ReportService的管理地址、或者Web地址,在其安装目录下都是有对应目录的。
查看对应的目录,可以看到和正常的web程序一样,也有对应的config文件,那么我们就可以修改config文件去实现匿名访问:
首先备份文件(注意文件夹):
①\ReportServer\web.config
②\ReportServers\rsreportserver.config
③\ReportManager\Web.config
1、修改①、③两个文件
查找:
<authenticationmode="Windows" />
<identityimpersonate="true"/>
替换为:
<authenticationmode="None" />
<identityimpersonate="false"/>
2、修改@2文件,
注释:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
添加
<Authentication>
<AuthenticationTypes>
<Custom/>
</AuthenticationTypes>
<EnableAuthPersistence>ture</EnableAuthPersistence>
</Authentication>
查找以下代码
<Security>
<ExtensionName="Windows"Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization,Microsoft.ReportingServices.Authorization"/>
</Security>
<Authentication>
<ExtensionName="Windows"Type="Microsoft.ReportingServices.Authentication.WindowsAuthentication,Microsoft.ReportingServices.Authorization"/>
</Authentication>
在代码后添加
<Security>
<ExtensionName="None"Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.Authorization,Microsoft.Samples.ReportingServices.AnonymousSecurity"/>
</Security>
<Authentication>
<ExtensionName="None"Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.AuthenticationExtension,Microsoft.Samples.ReportingServices.AnonymousSecurity"/>
</Authentication>
1. dll文件拷贝到\ReportServer\bin下
Microsoft.Samples.ReportingServices.AnonymousSecurity.dll
重启SSRS服务
另外解决问题之前,也看了csdn其他两篇文章:
http://blog.csdn.net/zhangzeshuai/article/details/4618030
http://blog.csdn.net/frank_softworks/article/details/6755871