You are on page 1of 2

So what happened to the good old anonymous authentication is RS 2005?

The short answer is that it is


no longer supported. There were good technical reasons: anonymous accounts (the IUSER_* and
IWAM_* accounts) are managed by windows security system. We decided not to trot into that space, nor
did we want to add a new configuration setting for anonymous accounts, and having to manage the
username and password of the anonymous user account. This may seem like a flop, but think about it
from another angle: why would you want everyone on the internet to be able to view/update/overwrite
your stuff on the report server?
With so little said about best practices, I shouldn't really be telling people how to enable anonymous
authentication. So here is the disclaimer again:
DO NOT USE ANONYMOUS AUTH!
NEVER USE IT IN PRODUCTION ENVIRONMENT!
But if you are still undeterred, thinking you have a super secure environment and your servers are never
exposed to malicious users, here is the solution for the reckless :). This is an adaptation of the RS Forms
auth sample, so the easiest thing to do is to replace code in the sample with the code at the bottom of this
blog post.
Change authentication mode in rsreportserver.config to Custom:
< Authentication>
< AuthenticationTypes>
< Custom/>
< /AuthenticationTypes>
< EnableAuthPersistence>true</EnableAuthPersistence>
< /Authentication>


Change auth mode in report server and report manager web.config file to None. Set impersonation
property to false:
< authentication mode="None" />
< identity impersonate="false"/>


put the DLL Microsoft.Samples.ReportingServices.AnonymousSecurity.dll into the BIN folder of the
report server (e.g. D:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting
Services\ReportServer\bin)


Add the extension to rsreportserver.config file:
< 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>


Configure code access security. Add the following into rssrvpolicy.config. Since my project had no strong
name, I used url membership:
<CodeGroup
class="FirstMatchCodeGroup"
version="1"
PermissionSetName="FullTrust">
<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
class="UrlMembershipCondition"
version="1"
Url="D:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting
Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll"
/>
< /CodeGroup>

Restart report server and now you have anonymous authentication.

*Sacado de:
http://blogs.msdn.com/b/jameswu/archive/2008/07/15/anonymous-access-in-sql-rs-2008.aspx con
modificaciones realizadas por ACF Technologies