Uso de procedementos almacenados
Ir a la navegación
Ir a la búsqueda
Sumario
Introdución
Unha aplicación web pode lanzar consultas (SELECT/INSERT/UPDATE/DELETE) directamente contra a base de datos. O usuario que as lanza debe ter acceso a esas táboas, e pode ver a estrutura das mesmas.
Se queremos aumentar a seguridade podemos utilizar procedementos almacenados.
Ventaxas dos procedementos almacenados
Empregar procedementos almacenados implica:
- Mellor rendemento xa que as sentenzas xa están compiladas e analizadas polo xestor.
- Mellor seguridade xa que
- é imposible facer ataques de inxección de código.
- o usuario non pode ver a estrutura de táboas.
- Mantemento máis doado, xa que podo cambiar a estrutura de táboas sempre que o procedemento continúe devolvendo o mesmo ao usuario.
IMPORTANTE. Se utilizamos este tipo de seguridade xa non necesitamos outorgar o usuario ningún tipo de permiso sobre as táboas.
O permiso que debemos outorgar para que poida executar un procedemento almacenado é EXECUTE.
Asignando permiso Execute
MySQL Workbench
Podemos facelo como no punto anterior facendo uso do WORKBENCH (neste caso daremos permiso de execución sobre todos os procedementos almacenados).
Usando a orde grant
Permiso de execución a todos os procedementos almacenados
Sería así:
1 grant execute on *.* to 'novo_usuario'
Permiso de execución a un procedemento almacenado
Sería así:
1 grant execute on procedure NOME_PROCEDEMENTO to 'novo_usuario'