![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
El problema es que tengo un error con una aplicación determinada que esta permitiendo borrar registros de una tabla, mientras descubro el problema necesito temporalmente evitar que eliminen los registros. |
|
#2
|
||||
|
||||
|
Cita:
![]() Casimiro, ¿Firebird no permite prohibir por usuario acciones como el borrado de registros? Es que me parece curioso el método del trigger. En MySQL habría más bien pensado en restringir al usuario que se conecta quitándole el permiso de borrado sobre esa tabla. // Saludos |
|
#3
|
||||
|
||||
|
Sí, pero yo siempre uso el usuario sysdba y nunca he hecho ese control, debe ser fácil, pero tendría que mirar la documentación.
Además no creo que Efren2006 tenga usuarios distintos de sysdba ¿o sí? ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Efectivamente solo uso sysdba...
|
|
#5
|
||||
|
||||
|
Cita:
Por la cara que pones y por otros comentarios en los foros, me da la impresión de que todo mundo usa sólo al sysdba en firebird. No sé, en mi caso, usando MySQL, sería impensable usar un sólo usuario, pero quizá es así porque el servidor sirve (valga la redundancia) a múltiples aplicaciones. Cada una tiene por lo menos un usuario restringido a la base de datos de la aplicación y en ocasiones tiene algún otro usuario más restringido, por ejemplo, uno que sólo sirve para hacer consultas.// Saludos |
|
#6
|
||||
|
||||
|
Debe ser eso, la "filosofía" de trabajo de cada uno. En firebird se suele usar solamente el usuario sysdba y si necesitas control por usuarios lo normal es crear una tabla para los mismos y controlarlo desde tu programa.
Incluso en el caso de varios programas que conectan a la misma base de datos también se sigue usando sysdba, siempre. Aunque por supuesto que se pueden crear usuarios en la base de datos y dar permisos, restringir, etc. por separado.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
Ayer ya no pude contestar.
Puede ser filosofía, pero se me hace extraño. La tabla de usuarios es aparte. Es decir, cada sistema tiene su propia tabla de usuarios. Pero los usuarios del servidor dan una protección a bajo nivel, por decirlo de alguna forma. Por ejemplo, en el servidor del Club hay varios usuarios, muchos sin relación alguna uno con otro. Cada cual tiene su correspondiente usuario de MySQL y no puede tocar las bases de otro. Eso no quita que cada sistema, como este de los foros, tenga su propia tabla de usuarios para controlar el acceso a las funciones propias de los foros. // Saludos |
|
#8
|
||||
|
||||
|
Firebird se puede hacer mucho más seguro si se quitara la costumbre de utilizar únicamente SYSDBA. Lo más adecuado es agregar usuarios/roles para la bases de datos, donde cada uno tenga su propósito. Se le pueden dar permisos de escritura, lectura, o ambas... se le puede dar permisos para consultar e incluso se les puede restringir el acceso a nivel de campos.
Lo correcto es disponer SYSDBA como super-usuario o administrador como siempre, y luego agregar usuarios específicos para ciertos propósitos y de ese modo uno puede controlar mejor ciertas cosas... por ejemplo un usuario diseñado para un simple operador de caja no debería poder contar con acceso a las cuentas contables de la empresa o ver quien de sus compañeros gana más. El tema es que una cosa es usuarios a nivel de aplicación, que es cuando uno agrega tabla de usuarios en sus bases de datos, y otra son los usuarios de base de datos. Firebird cuenta con un nuevo conjunto de tablas de sistema pensando para monitoreo MON$ que amplía y complementa a RBD$. Pero de nada sirve intentar monitorear lo que va sucediendo si ve por ejemplo 20 usuarios SYSDBA conectados a la base, así uno no puede distinguir quien es quien realmente... por más que lo acompañe de la IP desde donde están conectados. Ahora uno tiene que adivinar, o tener a mano una hoja con el relevamiento de todos los miembros de la empresa, a que máquina pertenecen, su IP, etc. Por eso es que uno se inclina a disponer de tabla de usuarios junto con tablas de log o bitácora a modo de auditoría. Lo de trabajar únicamente con SYSDBA es un mal que hay que empezar a erradicar. ¡Y lo dice alguien que también solo usa SYSDBA! Lo que no recuerdo es si existe algún límite y restricciones sobre la cantidad de roles/usuarios y funciones.Saludos, |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Trigger - evitar borrado de registro | StartKill | MySQL | 1 | 04-03-2008 14:49:24 |
| Evitar el agregar registro en una DbCtrlGrid | Manuel | Varios | 4 | 27-11-2006 19:22:45 |
| Como Evitar Borrar Registro en dbGrid al Presionar ESCAPE ???? | AGAG4 | Varios | 4 | 07-07-2006 04:30:20 |
| Evitar Borrar más filas con DBGRID | User_Baja_2 | Varios | 4 | 12-01-2006 23:59:09 |
| Borrar lineas detalle al borrar registro maestro | akinom38 | Conexión con bases de datos | 3 | 11-01-2006 10:38:07 |
|