Configuración para acceder de forma anonima a Reporting Services
Acceso anonimo en sql server reporting services
Cuando un cliente tiene una aplicación la cual consume reportes de un servidor de SQL Server Reporting Services y quiere simplemente que los mismos no soliciten autenticación (No hablamos de si es correcto o no, sino del requerimiento), para el cual realizaremos algunas configuraciones en nuestro server para lograr Acceso anonimo en sql server reporting services
Para acceder al reporting services existen al menos tres formas de lograrlo
- Use ReportViewer para mostrar el informe, implemente la interfaz IReportServerCredentials ReportViewer.ReportServerCredentials correspondence, especifique un nombre de usuario y contraseña específicos en la interfaz.
- Acceso directo al nodo de informe, autenticación y seguridad de RS provisto al modificar el archivo de configuración RS y el blog del equipo SQL bajo la clase extendida.
- Acceso directo a la página de informe de RS, especifique el nombre de usuario y la contraseña para la autenticación (creo que esta posibilidad está ahí, pero no hizo el experimento)
Para lograr que nuestro servidor quede de forma anonima nos toca cambiar algunos archivos del sistema
- Archivos de programa \ Microsoft SQL Server \ MSRS10_50.MSSQLSERVER \ Reporting Services \ ReportServer en el folderweb.config, rssrvpolicy.configAndrsreportserver.config
- Archivos de programa \ Microsoft SQL Server \ MSRS10_50.MSSQLSERVER \ Reporting Services \ Carpeta de ReportManager web.config
- Microsoft.Samples.ReportingServices.AnonymousSecurity.dll (extensión de la clase que proporciona el blog de tecnología Microsoft SQL)
Paso 1:
- (La DLL Microsoft.Samples.ReportingServices.AnonymousSecurity.dll copiarla en la ruta *:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin
Paso 2:
- Luego cambiar el archivo web.config en el siguiente código
1 2 |
<authentication mode="Windows" /> <identity impersonate="true" /> |
Cambiar las siguientes lineas del codigo
1 2 3 4 |
<!--<authentication mode="Windows" /> <identity impersonate="true" />--> <authentication mode="None" /> <identity impersonate="false"/> |
Paso 3:
- Modificar el siguiente archivo rsreportserver.config
1 2 3 4 5 6 7 8 |
<Authentication> <AuthenticationTypes> <RSWindowsNTLM/> </AuthenticationTypes> <RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication> |
1 2 3 4 5 6 7 8 9 |
<Authentication> <AuthenticationTypes> <!--<RSWindowsNTLM/>--> <Custom/> </AuthenticationTypes> <RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication> |
1 2 3 4 5 6 |
<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> |
1 2 3 4 5 6 7 8 |
<Security> <!--<Extension Name="Windows" Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization, Microsoft.ReportingServices.Authorization"/>--> <Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.Authorization, Microsoft.Samples.ReportingServices.AnonymousSecurity" /> </Security> <Authentication> <!--<Extension Name="Windows" Type="Microsoft.ReportingServices.Authentication.WindowsAuthentication, Microsoft.ReportingServices.Authorization"/>--> <Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.AuthenticationExtension, Microsoft.Samples.ReportingServices.AnonymousSecurity" /> </Authentication> |
Paso 4:
- Cambiar la configuración del siguiente archivo
1 2 3 4 5 6 7 8 9 10 11 |
<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_50.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll" /> </CodeGroup> |
1 2 3 4 5 6 7 8 |
<CodeGroup class="FirstMatchCodeGroup" version="1" PermissionSetName="Nothing"> <IMembershipCondition class="AllMembershipCondition" version="1" /> |
Paso 5:
- Reiniciar el servicio del SQL Server Reporting Services
consulta, sabes cuantos registros devuelve un objeto tablix de reporting services 2008
No tengo conocimiento, pero dejame consultar un poco y te estoy comentando
de donde descargo ese dll Microsoft.Samples.ReportingServices.AnonymousSecurity.dll, puedes poner el enlace
http://files.cnblogs.com/cowman/Microsoft.Samples.ReportingServices.AnonymousSecurity.rar
de donde descargo ese dll Microsoft.Samples.ReportingServices.AnonymousSecurity.dll, puedes poner el enlace
http://files.cnblogs.com/cowman/Microsoft.Samples.ReportingServices.AnonymousSecurity.rar
Im thankful for the post. Great. ecdaedckbaek
tks for your comments