
28/12/2012, 11:47
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses Puntos: 2658 | |
Respuesta: ACL campos de tablas según rol En el contexto de un desarrollo basado en MVC, la mejor opción es realizar todos los accesos a BBDD por medio de stored procedures. AL menos esa es la forma más segura, especialmente porque la administración de accesos que requieres es a los módulos de la aplicación, y no a los accesos de la base.
Haciéndolo de esa forma puedes no sólo restringir perfectamente los datos a los que el usuario accede, sino que además puedes restringirle absolutamente el acceso a la base de forma directa, ya que el uso de SP no erquiere permisos a tablas, sino sólo permisos de EXECUTE a nivel usuario de MySQL.
Ese tipo de privilegios a un usuario hace que si pudiese loguear en el servidor, todas las tablas y vistas fuesen totalmente invisibles para él. Incluso la edición de los SP estaría fuera de sus posibilidades, porque para ello se requieren otros niveles de permisos.
Yo trabajo en una empresa de gran tamaño, y su aplicación (Web) está diseñada precisamente de esa forma.
A nivel de programación, todos los lenguajes tienen recursos para usar los SP. En el caso de PHP, si es el que usarás, debes acceder usando la librería MYSQLI de PHP. En .Net, te conviene usar el MySQL Connector.Net, que puedes descargar de la web oficial.
Ahora bien, ¿qué práctica has tenido creando SP?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |