Estamos utilizando CR XI en Oralce. Estamos aplicando RLS (Row Level Security) en DB. El RLS se basará en la información que establezcamos en la sesión (llamando a trans_pkg.set_username ('abc')) para decidir qué filas de datos pueden aparecer en el conjunto de datos. Pero CR parece tener su propia conexión con Oracle. No tenemos forma de ejecutar un paquete como: trans_pkg.set_username ('abc') antes de los datos de la consulta CR. Ahora es el gran riesgo de seguridad para nuestro sistema. Si tiene alguna solución, por favor, ayúdenme.Crystal Report y ODP.Net
Respuesta
No he usado crystal contra oráculo, solo servidor sql, pero la respuesta debería ser la misma. Cuando configura la información de conexión para el informe, debe especificar el nombre de usuario y la contraseña. La base de datos debe usar esta información para identificar al usuario y asignarle permisos de acceso correctos.
Gracias por responder, nuestro sistema es de 3 niveles, la base de datos del usuario es la misma para todas las sesiones. La única forma es ejecutar algún procedimiento antes de consultar datos. ¿Cualquier sugerencia? – QuangND
¿quiere decir ejecutar un 'procedimiento almacenado' en la base de datos, o un procedimiento en su nivel de acceso a datos, o qué? en cualquier caso, ¿qué hace el procedimiento? – Ray
ejecutar el procedimiento almacenado. tenemos un paquete trans_pkg. En este paquete, tenemos una variable global g_nombre de usuario. trans_pkg.set_username (p_nombre de usuario varchar2) simplemente configure g_username: = p_nombre de usuario; y en el contexto RLS filtramos solo las filas a las que este nombre de usuario puede acceder. – QuangND
Dado que está utilizando el visor de informes de cristal en lugar de un servidor BO sólo puede utilizar conjuntos de datos como en this answer
Si se utiliza un servidor BO que había necesidad de crear otro procedimiento que establece el primer llamadas nombre de usuario y luego ejecute el procedimiento fuente del informe o la consulta.
En nuestro sistema, el usuario puede crear nuevos archivos rpt y subirlos al servidor de informes y otros pueden ver esos informes. En un archivo rpt, hay varias consultas. Creo que podemos usar ese enfoque en este caso. – QuangND
:) lo siento, soy nuevo en este foro. Encontraré la manera de hacerlo :) – QuangND
- 1. CRYSTAL Report License y VS2010 Professional
- 2. Cambie dinámicamente la conexión de Crystal Report
- 3. ¿Cómo encontrar la versión de un archivo rpt Crystal Report?
- 4. Encontrar el procedimiento almacenado que usa Crystal Report
- 5. ¿Cómo abrir Crystal Report en la aplicación java swing?
- 6. crystal report field explorer no muestra el campo recién agregado
- 7. Cambiando fuente de datos XML de Crystal Report
- 8. Crystal Report error extraño (Error desconocido del motor de consultas)
- 9. Crystal Report gratis en Visual Basic 2010 Express
- 10. Editar el archivo de informe Crystal sin el software Crystal Report
- 11. Establecer programáticamente el origen de datos para Crystal Report en Crystal Server a través de Crystal Web Services
- 12. C# create report programmatically
- 13. ¿Cómo exporto Crystal Report en formato PDF, HTML y DOC utilizando el código C# en ASP.NET?
- 14. Visual Studio 2010, Crystal Report para Visual Studio 2008 y ClickOnce
- 15. Sharepoint List to PDF report
- 16. Error System.Reflection.RuntimeModule.GetTypes() con ODP.Net y C#
- 17. Configuración del origen de datos de Crystal Report en el tiempo de ejecución
- 18. ¿Por qué debería elegir Crystal Report o SSRS sobre la tabla HTML sin formato?
- 19. extraer consulta SQL sin formato desde un archivo .rpt de Crystal Report
- 20. ¿Hay alguna manera de cargar un archivo Crystal Report 9.0 desde una secuencia?
- 21. Cambie dinámicamente una imagen en Crystal Report en tiempo de ejecución
- 22. ¿Cómo puedo recuperar la instrucción SQL SELECT utilizada en un Crystal Report?
- 23. Usar el repositorio de BusinessObjects como fuente de datos para un Crystal Report
- 24. Crystal Report iconos/barra de herramientas no funciona cuando se despliega en el servidor web
- 25. Crystal Report: No se puede conectar registro incorrecto de los parámetros
- 26. Me gustaría extraer las consultas SQL de Crystal Report .rpt, ¿hay alguna manera de hacerlo?
- 27. ¿Dónde se colocan los ensamblados Crystal Report .Net cuando se instala el paquete de redistribución?
- 28. Problema al usar ODP.Net
- 29. System.Data.OracleClient vs. ODP.NET
- 30. Crystal Reports en MVC
¿Qué hay de llamar 'trans_pkg.set_username ('abc')' dentro del procedimiento almacenado de Oracle utilizado para alimentar el Crystal Report? –
¿Quiere decir agregar un comando en CR como seleccionar trans_pkg.set_username ('abc') desde dual? Si tenemos muchas consultas en CR, ¿cada consulta usará la misma sesión de Oracle o creará por sí misma? – QuangND
Hola, OMG Ponies, su solución es correcta si la consulta selecciona trans_pkg.set_username ('abc') desde la ejecución dual primero en todas las consultas. Pero, ¿cómo asegurarse de que esta consulta siempre se ejecute primero? – QuangND