visual usuarios usuario tipos privilegios permisos net mvc ejemplo con autenticación autenticacion asp asp.net security reporting-services

asp.net - usuarios - membership c# ejemplo



SSRS 2005-Configuración de Autenticación/Autorización de usuario (3)

Nos comunicamos con el SSRS usando la interfaz del servicio web y con el control Report Viewer usando la misma cuenta AD para todos los usuarios. En cuanto a los permisos, tenemos una lista de acceso personalizada que la página asp.net verifica antes de enviar el informe al usuario. Esto está adjunto al nombre de usuario. Hemos mantenido la caja SSRS fuera de internet y la única forma de acceso para el usuario es a través de la aplicación, de manera que el control de la lista de acceso sea suficiente.

Para el control de vista de informe, tuvimos que crear una clase de credencial personalizada para pasar el nombre de usuario y la contraseña AD heredados de IReportServerCredentials . El nombre de usuario y la contraseña AD se guardan en un archivo xml.

Espero que esto ayude.

Creé una aplicación web ASP.NET 2.0 y me gustaría usar SSRS 2005 para fines de informes.

La aplicación web usa autenticación de formularios y roles personalizados para la autorización. Creé informes y los implementé en un cuadro de nuestro SQL Server 2005.

Tengo dos opciones para integrar los informes en mi aplicación:

  1. Enlace a SSRS desde mi aplicación. El enlace tendría los parámetros y opciones especificados. Me aseguro de que el enlace solo se muestre para usuarios autorizados y enlaza con el informe correcto con los parámetros adecuados.

  2. Utilice el control ReportViewer y muestre informes usando eso. Todo el procesamiento será hecho por SSRS

Sin embargo, no estoy seguro de la mejor forma de configurar la seguridad en el IIS en el cuadro de Reporting Services. Actualmente está configurado para Autenticación integrada de Windows. Además, el servicio de informes tiene mi nombre de usuario con la función de navegador.

No todos los usuarios de mi aplicación tendrán acceso AD. Además, la aplicación está en Internet y no quiero abrir SSRS más de lo necesario. Al mismo tiempo, quiero que sea perfecto para nuestros usuarios, ya que no quiero que SSRS solicite el nombre de usuario y la contraseña.

Cuál es la mejor manera de lograr esto? ¿Debería crear un usuario AD ficticio y luego usarlo para comunicarme entre la aplicación ASP.NET y SSRS? Si no es así, ¿cuál es la forma más fácil de lograr todo lo que necesito?


+1 Fahad

Además de utilizar la interfaz IReportServerCredentials, se puede usar una instancia de ReportServerConnection y asignarla al control del visor de informes. Almacenamos el nombre de usuario, la contraseña y el dominio (si es necesario) en el archivo web.config.

ReportServerConnection credentials = new ReportServerConnection(''username'', ''password''); ReportViewer1.ServerReport.ReportServerCredentials = credentials;


Recientemente, hemos integrado un método de autenticación SSO para SSRS (SQL Server 2008 R2) con nuestra aplicación web personalizada que utiliza la autenticación de formularios. Estos dos artículos me parecieron muy útiles y resumí todo lo que teníamos que hacer para lograr nuestra solución SSO.

Autenticación de inicio de sesión único (SSO) de Reporting Services - Parte 1

Autenticación de inicio de sesión único (SSO) de Reporting Services - Parte 2

Estos son los pasos básicos, pero le sugiero que lea esos artículos completamente:

  1. Crea tu administrador de Validación que manejará la autenticación específica de tu sistema
  2. Cree su página de inicio de sesión para SSRS (nuestra página, como el ejemplo, simplemente llama a LogonUser y luego redirecciona al Administrador de informes) - Esto es necesario solo si desea usar el Administrador de informes de SSRS
  3. Después de agregar los servicios ReportingService2010 e ReportExecution2005 a su proyecto, querrá crear un contenedor Proxy a su alrededor y anular los métodos GetWebRequest y GetWebResponse para pasar el ticket de autenticación SSRS entre SSRS y su aplicación.
  4. Cree su módulo de autenticación personalizado que implemente IAuthenticationExtension & IAuthorizationExtension (vea la parte 2)
  5. Configure SSRS para usar su módulo de autenticación de formularios personalizados
  6. Si desea utilizar el Administrador de informes, deberá asegurarse de configurar el Administrador de informes de SSRS para gestionar el ticket de autorización de sus aplicaciones: Configurar el Administrador de informes para que pase las Cookies de autenticación personalizadas

Una vez realizados estos pasos, puede usar Report Manager o simplemente implementar los servicios web directamente en su aplicación.