Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Dar permisos a usuarios desde la aplicacion. (https://www.clubdelphi.com/foros/showthread.php?t=48551)

Gaim2205 27-09-2007 18:23:08

Dar permisos a usuarios desde la aplicacion.
 
Hola, desarrollé una aplicacion en D7, Firebird 2.0, componentes MDO.
Como puedo hacer para dar o quitar permisos a los usuarios dentro de la misma aplicacion? de las siguientes formas:

1. Siendo el administrador del sistema, dar o quitar permisos para ver, insertar o actualizar registros de mi bd.

2. Siendo el administrador del sistema, dar o quitar permisos para entrar a ciertas forms de la aplicacion.

Espero haberme dado a entender. Gracias..

ArdiIIa 27-09-2007 18:30:12

A ver si por aquí sacas algo en claro.

Caral 27-09-2007 18:33:20

Hola
Seguro que debe de haber muchas formas de hacer lo que necesitas.
Yo lo que hice fue colocar un campo en la tabla de usuarios (permisos), numerico.
en este campo coloco numeros dependiendo del usuario, asi, en el form del loguin cuando entran, revisa que numero esta asignado a ese usuario, y coloco una serie de parametros especificando a que tienen acceso los del numero 1 o 2 etc., asi cuando ingresan solo veran lo que sea necesario.
Saludos

Gaim2205 27-09-2007 19:32:49

entiendo. Lo que pasa es que lo que yo pretendo es que el administrador del sistema pueda dar de alta usuarios con distintos nivles de permisos, y que estos se registren directamente en el servidor. Como si los diera de alta yo mismo desde IBExpert, IBOConsole, etc...

Es esto posible?

en cuanto a opcion de crear una tabla de usuarios, como trabajaría ésta? primero hay que hacer entrar a la base de datos como SYSDBA, y despues hacer otro login de usuario dentro del sistema??

Ojalá me puedan contestar ambas dudas. Muchas Gracias.

Gaim2205 28-09-2007 01:42:06

Alguien?? no?? nadie?? :confused:

egostar 28-09-2007 03:32:01

Cita:

Empezado por Gaim2205 (Mensaje 234415)
entiendo. Lo que pasa es que lo que yo pretendo es que el administrador del sistema pueda dar de alta usuarios con distintos nivles de permisos, y que estos se registren directamente en el servidor. Como si los diera de alta yo mismo desde IBExpert, IBOConsole, etc...

Es esto posible?

en cuanto a opcion de crear una tabla de usuarios, como trabajaría ésta? primero hay que hacer entrar a la base de datos como SYSDBA, y despues hacer otro login de usuario dentro del sistema??

Ojalá me puedan contestar ambas dudas. Muchas Gracias.

Contestando a tu primer pregunta, dale una leída a este hilo

Respecto a la segunda pregunta, pues la tabla la agregas a tu base de datos, como una mas.

Cita:

Empezado por Gaim2205 (Mensaje 234597)
Alguien?? no?? nadie?? :confused:

No desesperes, ten un poco de paciencia.

Salud OS

Delphius 28-09-2007 08:46:13

Hola Gaim2205,
En lo personal prefiero manejar los niveles de usuario y seguridad mediante tablas en la base de datos y no estar empleando usuarios/roles para la base de datos con Interbase. De modo que el acceso "real" a la base de datos se hace unicamente a través de SYSDBA.

Bueno, la cantidad de tablas de como llevar el manejo de los usuarios, permisos y/o perfiles no es sencillo. Pero tampoco es muy complicado. Todo dependerá de que tan elaborado quieres que sea... Y si el sistema es para una empresa también debe contemplar las políticas de acceso y perfiles que alli se manejen. Ni olvidar de si se debe contemplar las auditorias.

Lo más básico es tener una tabla usuario en la que se registre los usuarios con su contraseña. Esta tabla mantiene una clave foranea hacia otra que se llame perfiles. Esta es muy simple, un ID y un campo descripción. La idea es que para cada perfil exista un ID. Entonces la relación entre Perfiles y usuarios es de 1-M. Un perfil puede estar asignado a muchos usuarios.

Ahora solo será cuestión de ir habilitando los controles dependiendo del perfil que posea la persona.

Como dije, en realidad el manejo de esto no es sencillo. El modelo que te expliqué es el más simple. Y todo dependerá de las necesidades... Por ejemplo, en empresas en donde a pesar de existir perfiles hay miembros del personal que hace uso de algunas funciones y otros tienen otras... Es posible que el modelo simple no cumpla con estos requisitos. Y si vamos por temas como auditorias, habrá que contemplar como mínimo:
1. Campos de control que determinen:
1.1. Fecha de alta de usuario.
1.2. Proxima fecha de actualizacion de la contraseña
1.3. Ultimo acceso del usuario.

2. Registros de confirmación de operaciones.
2.1. Registros de las operaciones realizadas (o por lo menos las ultimas) por el usuario
2.2. Registros de actualizaciones del usuario: Contraseñas, permisos... Es decir un Log.

En fin.... pueden haber muchas cosas que contemplar, si no tienes definido los límites y la granularidad de como establer los permisos a los usuarios el trabajo puede ser un caos.

¿Consejos? Creo que esto ya va por tu cuenta (o la de tu empresa).
No se si habrá sido de ayuda.

Saludos,

Gaim2205 28-09-2007 15:22:08

Gracias a delphius y egostar por sus repuestas tan completas.

Delphius 28-09-2007 19:22:24

Cita:

Empezado por Gaim2205 (Mensaje 234713)
Gracias a delphius y egostar por sus repuestas tan completas.

Me alegro que tomaras en cuenta lo que he dicho, aunque dudo que haya sido una respuesta completa. Mi intención no es ser bien detallista en darte una respuesta sino más bien hacerte notar que el estudio y/o análisis de como incorporar un módulo de permisos a traves de usuarios y/o un módulo de seguridad puede llegar a ser tan simple como unas dos tablas en relación 1-M como tan complejo que requiere de hasta (N-2)/2 tablas adicionales. Siendo N la cantidad de tablas que posee la base de datos (1)

Lo que uno piensa que puede ser tan simple, puede llegar a ser incluso tan grande que hasta puede llegar a requerir su propio plan de trabajo y/o análisis. En fin... todo dependerá, como te dije antes, de la empresa, sus políticas, de tus gustos, puede incluso verse afectado por alguna imposición legal y/o del gobierno (es por ello que te hablaba de auditorias).

(1) Esto es a ojo. Un valor promedio estimativo con un factor de corrección de "grado" 2. La fórmula no es lo importante, sino hacerte saber que es posible que en punto extremo tengas que añadir un 50% más tablas de lo normal.

Saludos,

luis_legacy 28-09-2007 21:55:35

hola soy luis
 
me gustaria saber como lo hiciste..... lo q pasa es tengo q hacer algo parecido un trbaajo para la universidad...y me gustaria ver si podes compartir tus conociemientos...chau gracias

Delphius 29-09-2007 04:41:53

Cita:

Empezado por luis_legacy (Mensaje 234869)
me gustaria saber como lo hiciste..... lo q pasa es tengo q hacer algo parecido un trbaajo para la universidad...y me gustaria ver si podes compartir tus conociemientos...chau gracias

Bienvenido a ClubDelphi Luis_legacy.
Antes que nada, sabiendo que eres nuevo aqui, te recomiendo la lectura de la guia de estilo. Unas pequeñas recomendaciones a tener en cuenta al momento de postear.

Disculpa que pregunte... ¿A quien de los intervinientes en este hilo va dirigida tu pregunta?

Creo que sería oportuno mencionarte que aqui estamos acostumbrado a que lo dicho aqui quede en conocimiento de la comunidad de ClubDelphi. Por lo que hacemos lo posible en que la ayuda no sea tan particular o "en linea", sino más bien a público conocimiento.
Esto te lo hago saber debido a que es habitual que estos tipos de mensajes se transformen en ayuda personalizada con lo cual el conocimiento transmitido no queda a disposición de cualquier otra persona que venga con los mismos inconvenientes o interrogantes.
No te estoy privando del derecho de aprender, sólo te hago saber que preferimos que el contacto por aqui sea lo más abierto y que pueda beneficiarnos a la comunidad.

Sabiendo que es para un trabajo de la facultad... con mayor énfasis te hago saber que aqui nosotros no hacemos tarea a nadie (que ya muchas veces hay gente que a venido con éstas intenciones).

Te recomiendo que primero busques en los foros y trates de evacuar tus dudas de esta manera, si ves que el tema no te resulta del todo conforme y/o tienes otros problemas recién inicies un hilo (o continues el tema en algún hilo que lo trate) manifestando tus dudas.

Saludos,

luis_legacy 29-09-2007 14:32:35

hola delphius...
 
hola como estas???..gracias x la recomendasion espero no volver a hacerlo..gracias:)


La franja horaria es GMT +2. Ahora son las 08:16:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi