FoxPro/Visual FoxPro - Niveles de acceso

 
Vista:

Niveles de acceso

Publicado por Maria Antonieta (147 intervenciones) el 27/11/2008 03:19:44
Hola Chicos:

Tengo un sistema de Planillas, y bueno solo falta definir los permisos de usuarios.
Alguien podria ayudarme de como hacerlo. Quiero controlar los niveles de acceso a ciertas operaciones; por decir si un usuario entra y modifica, borra o añade registros que se grabe todas las incidencias en alguna tabla, pero no se por donde empezar, alguna idea por parte de uds los expertos.

Gracias por cualquier sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Niveles de acceso

Publicado por Frytrix (8 intervenciones) el 27/11/2008 05:38:10
Saludos amiga

bueno te doy esta idea sencilla. Ponte que usas una variable para Incluir, otra para modificar, etc, donde cada variable sea del tipo logico. Cuando le asignes permiso de ingreso a un usuario para incluir pues pones esa variable de incluir en T (verdadero) y haces lo contrario para denegar. Luego cuando cargas el perfil de ese usuario usate un arreglo que es sencillo de manejar donde guardas esa informacion de cada permiso asignado para ese usuario y lo vas verificando en el arreglo conforme vaya ingresando al sistema.

La otra forma es creando niveles de acceso por digamos escalones. es decir, que escalon o nivel 1 puede incluir pero no modificar y no eliminar, nivel 2: puede incluir, puede modificar pero no eliminar y nivel 3 puede hacer todo. Esto es un ejemploq ue podeis modificar a tu gusto y representa una ventaja conr especto al ejemplo dle principio porque solo usarias una sola variable por cada usuario que seria numerica por ejemplo (1,2 y 3 los valores permitidos). La desventaja es que no permite ser tan especifico como en el primer ejemplo.

En ambos ejemplos puedes usarte un arreglo para cargar los permisos de cada usuario.

saludos

fry
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Niveles de acceso

Publicado por santiago (551 intervenciones) el 27/11/2008 18:07:36
Hola Maria Antonieta, te dare algunas ideas "para que no pierdas la cabeza".

son dos puntos por separado, primero el nivel de acceso de cada usuario y segundo, que es lo que cada usuario hace con esas atribuciones.

Primero:

- debes crear una tabla donde vas a guardar el password y los niveles de acceso de cada usuario, por ejemplo:

mantenimiento de clientes:
.. nuevo
.. editar
.. anular
.. consultar
.. reportes

el usuario 1 puede crear nuevos. editar, consultar mas no anular ni ver llstados de los mismos-

el usuario 2 solo puede consultar y ver listados.

tabla de control:

usuario pasword nuevo editar anular consultar reportes
1 hola s s n s n
2 adios n n n s s

dependiendo de estas caracteristicas disparas los formularios o instancias de formulario respectivas a "s" ó "n" para cada usuario.

Segundo:

- debes crear un segunda tabla (clon) de clientes donde guardaras todo lo acontecido

se crea un cliente y posteriormente de la cambia el nombre.

clientes1 registro 1
pepe rodriguez perez

clientes2 registro 1
pepe rodriguez perez

se cambia el nombre:

clientes1 registro 1
jose rodriguez perez

clientes2 registro 1 y 2
pepe rodriguez perez
jose rodriguez perez

se cambia el segundo apellido

clientes1 registro 1
jose rodriguez lopez

clientes2 registro 1, 2 y 3
pepe rodriguez perez
jose rodriguez perez
jose rodriguez lopez

espero te sirva y "no pierdas la cabeza"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Niveles de acceso

Publicado por Maria Antonieta (147 intervenciones) el 27/11/2008 19:39:52
Gracias Frytrix y Santiago, por sus ideas.

Ya me va quedando claro eso de niveles de acceso, ahora lo q aun se me complica mas me parece con lo explicado, es que debo clonar todas mis Tablas, a ver si es lo qu entendi.

Porque mi cliente, me dijo Yo quiero saber si un usuario XXX que cosas hace; si crea,modifica, anula, imprime. , osea hacer el seguimiento de cada usuario.

A ver Santiago si me datellas algo mas de tu experiencia.

Y desde ya muchas gracias por tu tiempo y paciencia.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Niveles de acceso

Publicado por frytrix (8 intervenciones) el 27/11/2008 19:54:35
Hola amiga. Para nada debes clonar tus tablas. Recuerda que en sistema snunca pero nunca debe existir la duplicidad d ela data y cuando dices "clonar" estas aceptando duplicar.

Para saber que hace cada usuario puedes usar una tabla llamada Bitacora por ejejmplo, donde guardades el login del usuario(no la contraseña porque eso es delicado). Luego guarda tambien la hora, el tipo de operacion realizada (inclusion, modificacion, etc) y quedaria de tu parte si usas un digamos campo memo donde guardes la data original y , debidamente separada, la data ya modificada. Debes precisar que tanto quieres que quede registrado en este posible campo porque ello aumentara el tamaño de la data.

Esto es una simple guia para orientarte y que puedas crear algo mejor, que seguro lo haras.

saludos

fry
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Niveles de acceso

Publicado por santiago (551 intervenciones) el 29/11/2008 01:17:52
Encantado Maria Antonieta:

te explico con mas detalle:

digamos que tienes una tabla donde guardas los datos de tus clientes:

clientes.dbf
codigo nombre apellidos direccion telefono
0001 juan ramirez roma 501 999-999

puedes crear una tabla paralela (clon) de la primera y le agregas algunos campos adicionales, como usuario, maquina, fecha y hora. cada vez que actuas sobre la primera ya sea ingresando data nueva, modificando o eliminando, agregas un nuevo registro a la segunda.

para este primer registro quedaria asi

clientes2.dbf
codigo nombre apellidos direccion telefono usuario maq fecha hora
0001 juan ramirez roma 501 999-999 maria 001 28/11/08 8.05

el mismo usuario luego decide cambiar el apellido.

clientes.dbf
codigo nombre apellidos direccion telefono
0001 juan perez roma 501 999-999

para este segundo registro quedaria asi

clientes2.dbf
codigo nombre apellidos direccion telefono usuario maq fecha hora
0001 juan ramirez roma 501 999-999 maria 001 28/11/08 8.05
0001 juan perez roma 501 999-999 maria 001 29/11/08 10.0

si comparas un registro con otro obtendras una diferencia, el apellido ademas de quien modifico, que modifico, desde que maquina y cuando lo hizo.

esto seria lo mas facil, pero tu segunda tabla creceria de tal forma que en un momento determinado ver un reporte de la misma demoraria, ten en cuenta que los registros de esta tabla aumentarian considerablemente y si tiene muchos campos peor aun.
aparte que no registraria las anulaciones

vamos a ver ahora un segundo caso:

siguiendo la misma logica, creamos una segunda tabla (clientes2.dbf), con los siguientes campos:

clientes2.dbf
usuario maq fecha hora accion antes despues

para el primer caso registrariamos lo siguiente:

clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)

para el segundo caso registrariamos lo siguiente:

clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)
maria 001 29/11/08 10.00 editar apellido ramirez perez

y si hubiera habido alguna anulacion:

clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)
maria 001 29/11/08 10.00 editar apellido ramirez perez
maria 001 30/11/08 9.00 anular (0001 juan ramirez)

esta ultima solo tiene 8 campos no importando la cantidad de la tabla original

si a esta ultima le agregas un encriptamiento, entonces nadie podra entebder el contenido y mucho menos vulnerarlo a voluntad.

espero te sirva

santiago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Niveles de acceso

Publicado por Maria Antonieta (147 intervenciones) el 29/11/2008 15:48:37
Gracias de nuevos chicos:

gracias por sus aportes, tendre presente sus ideas y bueno a trabajar se dijo.

Mil gracias.
Maria Antonieta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar