Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2011
linuxtin linuxtin is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 30
Poder: 0
linuxtin Va por buen camino
Usuarios con base Mysql....

Hola como andan?? La duda que tengo es la siguiente, estoy desarrollando un proyecto para la facultad, es un sistema de gestión de información cliente/servidor. Lo estoy pensando que es para una empresa multinacional, con varias sucursales en el país.

Mi duda viene con el usuario y contraseña que el sistema usa para conectarse a la base de mysql. Entonces tengo que tener un solo usuario y contraseña para la base para todos los empleados?

Desde ya muchas gracias, si no se entendió me avisan.

Saludos.
Responder Con Cita
  #2  
Antiguo 12-07-2011
Avatar de Godzuki
Godzuki Godzuki is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 26
Poder: 0
Godzuki Va por buen camino
Thumbs up

Cita:
Empezado por linuxtin Ver Mensaje
Hola como andan?? La duda que tengo es la siguiente, estoy desarrollando un proyecto para la facultad, es un sistema de gestión de información cliente/servidor. Lo estoy pensando que es para una empresa multinacional, con varias sucursales en el país.

Mi duda viene con el usuario y contraseña que el sistema usa para conectarse a la base de mysql. Entonces tengo que tener un solo usuario y contraseña para la base para todos los empleados?

Desde ya muchas gracias, si no se entendió me avisan.

Saludos.
Por lo que lei, veo que estas en el mismo dilema que yo.

Yo estoy haciendo un mini sistema de usuarios para controlar el acceso a mi programa, dar permisos para hacer ciertas cosas etc.

Lo ideal segun he leido por ahi, es que cada quien tenga su usuario de mysql y un password.

Ahora, el detalle es que esto es peligroso ya que con esa información podrian accesar desde un cliente de mysql y ver todas las tablas y registros o peor borrarlos.

Lo que yo hice fue esto.

Cree una tabla:

KUSUARIOS

con los siguientes campos:
ID_USUARIO, CAMPO LLAVE, AUTO INC, INT
NOM_USUARIO, NOMBRE DE LA PERSONA, VARCHAR (50)
USER, EL NOMBRE DEL USUARIO QUE EL USUARIO CONOCE, VARCHAR (20)
PASS, LA CONTRASEÑA , VARCHAR (20)
REAL_USER, EL NOMBRE DE USUARIO QUE USA MYSQL, VARCHAR (20)
REAL_PASS,EL PASSWORD QUE USA MYSQL, VARCHAR (20)
STATUS, UNA BANDERA QUE MARCA UN REGISTRO DE LA TABLA PARA QUE NO SALGA EN CIERTOS QUERYS, VARCHAR (1)
Ahora la idea es la siguiente.

Primero debes crear el usuario para la persona en cuestion. Supongamos los siguientes datos:

nombre: juan perez
user:juanito
pass:casabonita
real user: sysuser001
real password: jdsh3uhFFn2

En donde el usuario final sabra solo los datos "user" y "pass", tu que eres el creador, daras de alta un usuario con real user y real password. La tabla que creaste guardara esta informacion.

Despues debes crear un usuario llamado LOGIN con su propio password, que sera el encargado de pedir a travez de tu programa, los datos de "user" y "pass".

El usuario mete sus datos de user y pass.

El programa hace un query como este:
SELECT * FROM KUSUARIOS WHERE USER = "juanito" AND PASS = "casabonita" AND STATUS = "A";

En delphi evaluas si el query regresa un registro o no para saber si se logeo o no, o mejor dicho para saber si existe en KUSUARIOS el registro. De esta forma el usuario final no sabe los verdaderos datos para conectarse y tu puedes hasta hacer una interfaz para que cambien el password.

Esto es lo que yo hice, no se si sea algo similar, pero a mi me suena familiar.

El delphi seria asi:

Código Delphi [-]
procedure boton(...)
var
begin
  if query.recordcount > 0 then
    begin
      showmessage('Se ha logeado exitosamente');
      MyConnection.User := Query.Fieldbyname('REAL_USER').asString;  
      MyConnection.Password := Query.Fieldbyname('REAL_PASS').asString;
      MyConnection.Connected := True;
    end        
  else
    showmessage('no se ha logeado, revise.');
end;
Responder Con Cita
  #3  
Antiguo 13-07-2011
linuxtin linuxtin is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 30
Poder: 0
linuxtin Va por buen camino
Hola Godzuki!! Yo lo que hice es un solo usuario de mysql y en el sistema cree la tabla empleado. Puede ser que cada usuario tenga que tener su cuenta mysql y administrar los permisos desde el gestor de base se datos...

Pero en mi caso el sistema lo hice para que se actualice, entonces tiene que tener un único usuario de mysql.

Lo que decís de que si descubre la contraseña de mysql puede hacer estrago es cierto, pero le podes sacar mucho permisos, solo dejar el insert, y update. Y deshabilitas el showdatabases cuando inicia el servidor mysql.

Si estoy equivocado que alguien me corrija.

Saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Usuarios Mysql desde Delphi adeszeus MySQL 2 18-06-2010 22:55:03
usuarios conctadoa a base firebird dandia28 Conexión con bases de datos 0 07-06-2007 18:28:46
problemas con usuarios de base de datos pani_alex Firebird e Interbase 5 14-03-2007 17:49:18
Usuarios MySql en red The_figo MySQL 1 25-10-2006 21:25:01
Usuarios de Base de datos mosorio Firebird e Interbase 2 07-03-2004 00:39:11


La franja horaria es GMT +2. Ahora son las 08:58:00.


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
Copyright 1996-2007 Club Delphi