Multiusuario

Estoy creando un programa de ventas, en el cual uso varias tablas paradox, tengo una tabla venta.db vendedor.db, productos.db servicios.db etc, y tiene que ser multiusuario y cada usuario tiene permisos correspondientes, por ejemplo usuario común que solo pueda ver los registros en los dbgrid, pero no agregar ni borrar registros, y un usuario llamado por ejemplo administrador, que si pueda agregar y borrar registros, o sea hacer todo ¿cómo hago que sea multiusuario, y cómo le asigno a cada usuario sus permisos? ¿Es necesario ponerle password a cada una de las tablas paradox? ¿Puedo guardar los nombres de usuario y password en una tabla? ¿Cuál es el método o los métodos que se usan en este caso?
Respuesta
1
En mis aplicaciones lo controlo con tres tablas, usuarios, grupos y perfiles. En perfiles se define que se puede hacer para cada pantalla, en usuarios, quienes son usuarios de cada empresa y en grupos se asigna un perfil a cada usuario. Debes cargar tras el login el perfil seleccionado en una variable global, y consultar que capacidades están disponibles en el arranque de cada pantalla.

2 respuestas más de otros expertos

Respuesta
1
Hi,
Sobre paradox no tengo mucha información. Lo que quieres hacer se puede hacer de dos formas.
La primera es utilizar propiedades de paradox (que desconozco y no se si existen) para la administración de usuarios. Si esto es posible te "loguearias" con un usuario y contraseña y el motor paradox se encargaría de ver que permisos darte. Ya te aclaro que no se si esto es posible. Podrías mandar una inquietud a la categoría de Paradox.
La segunda es utilizar herramientas de Delphi para administrar los parmisos. Con esto quiero decir que todas las operaciones en una tabla o base de datos van a ser permitidas pero se pueden limitar ocultando botones o denegando operaciones. Por ejemplo, podes hacer que se "logueé" un usuario y generar una variable Global para saber que permisos tiene. Cada botón que se presione, acceso a menúes u operaciones a la base de datos podrías controlar esa variable global y dar permiso o no para la acción.
Tambien podrias (despues del "logueo") ocultar botones que no esten permitidos para la categoria de usuario ingresada.
Los usuarios los podrías llevar en una tabla cualquiera con sus respectivos nombres de usuario, contraseñas (encriptadas), y permisos. Para encriptar podes bajar algún componente para transformar un string en algo "raro" desde www.torry.net.
Espero que te sirva y cualquier consulta no dudes en preguntarme.
Nahuelon..
Respuesta
1
Bueno la idea seria algo así:
Tener un tabla Usuarios. Db en la cual tienes los permisos de usuarios poe Ej.
Usuario
Contraseña
Y acá pondrías los permisos
Administrador, este campo seria un boolean
Usuario, este campo seria un boolean
Entonces al iniciar tu aplicación pedís nombre de Usuario y contraseña, lo buscas en la tabla Usuarios. Db y si esta en la misma guardas los permisos que tiene en variables globales, que debes consultar cada vez que realices una acción como borrar, etc., de la siguiente forma:
En el evento OnActivae del form asignas los permisos, por Ej.
BotonBorrar.Enable := Variable_Administrador;
Te conviene siempre ponerle password a las tablas. Eso evita que usuarios curiosos anden revisando tus tablas.
Esta seria la idea.
Cualquier cosa pregunta, Atentamente. DX.
PD: No te olvides de finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas