Tengo un problema / desafío siguiente:
La aplicación web (ASP.NET 3.5) instalada en la LAN corporativa y opera en SQL Server DB debe proporcionar la capacidad de generar informes personalizados. Estos informes pueden ser, básicamente, cualquier cosa desde el DB de subrayado, incluyen uniones complicadas, uniones y cualquier cosa que se pueda imaginar. (Solo selecciona, no Insertar / eliminar / soltar / actualizar)
La forma más fácil de hacerlo: permitir que el sistema ejecute consultas SQL. El administrador del sistema agregará consultas personalizadas al sistema y los usuarios "regulares" podrán ejecutarlas. Si necesitan una nueva consulta, le pedirán al administrador que cree una consulta para ellos y luego podrán ejecutarla por Id. De consulta.
El enfoque de la Lista Blanca no va a funcionar aquí (al menos no puedo ver cómo).
¿Qué pasa con la lista negra? Estaba pensando en algo así:
blackList={"--", ";", "/*", "*/", "@@", "@",
"char", "nchar", "varchar", "nvarchar",
"alter", "begin", "cast", "create", "cursor",
"declare", "delete", "drop", "end", "exec",
"execute", "fetch", "insert", "kill", "open",
"sys", "sysobjects", "syscolumns",
"table", "update"};
Una vez más, la única persona que puede crear dicha Consulta personalizada es admin (y es muy probable que tenga el control total sobre DB en cualquier caso).
Cualquier ayuda sería bienvenida.
Gracias
A