PDA

Ver la Versión Completa : Modificar Password


radenf
03-11-2007, 22:44:33
Hola amigos
Quisiera que alguien más sabio, por favor, me ayudara con el código necesario para que un usuario de una base de datos pudiera cambiar su propia password desde el programa en ejecución.
Saludos a todos y muchas gracias por su apoyo.

droguerman
04-11-2007, 07:10:45
no dices el gestor, ni si es un password de tabla o de base de datos ni nada

radenf
04-11-2007, 13:01:34
Lo que necesito es el código para modificar una password ya definida por el usuario. Mi programa utliiza ABSDatabase que es un reemplazo de la BDE, por lo que puede ser en código delphi o mysql.
Al ingresar al programa existe una clave genérica que los usuarios debieran modificar con su nombre y elegir su propio login y password.
No corresponde a password de tablas o base de datos. Es para ingresar al formulario de trabajo.
Saludos y gracias por su ayuda.

Delphius
04-11-2007, 20:23:39
radenf, ¿Tu te refieres a que deseas crear un cuadro de díalogo de Logueo al sistema?
Si es así busca (http://www.clubdelphi.com/foros/search.php) en los foros con la palabra Login.

Saludos,

radenf
04-11-2007, 23:21:39
radenf, ¿Tu te refieres a que deseas crear un cuadro de díalogo de Logueo al sistema?
Si es así busca (http://www.clubdelphi.com/foros/search.php) en los foros con la palabra Login.

Saludos,

Agradezco tu ayuda Delphius. Ya busqué por login y password en el club y en otros foros de Delphi y no encontré lo que me hace falta. Parece que soy el único que no sabe cómo se hace.
Lo que necesito no es para loguear el sistema, es simplemente el código o pasos necesarios para que un usuario pueda cambiar su password igual que cuando te suscribes en cualquier página web que te envían una clave y tú debes cambiarla o cuando deseas cambiar tu clave de acceso a Windows o a cualquier sistema, por razones de seguridad.

Ejemplo:

login:Juan
Pasword:****

Modificar Password

Ingrese su Login:Juan
Ingrese nuevo Login:
Ingrese su Password:****
Ingrese nueva Password

Saludos y gracias.

Caral
04-11-2007, 23:29:21
Hola
Pregunto:
El password esta en la base de datos?
La persona ingresa al programa, con un password y necesita cambiarlo?
El Password no es el de la base de datos, es el del porgrama?
Saludos

radenf
04-11-2007, 23:36:43
Hola
Pregunto:
El password esta en la base de datos?
La persona ingresa al programa, con un password y necesita cambiarlo?
El Password no es el de la base de datos, es el del porgrama?
Saludos
Un saludo Caral. He seguido con gran interés tus aportes, de hecho el form de password lo realizé siguiendo tus sugerencias.
En este caso el login y la password están en registros de la base de datos, cosa que debiera poder cambiarse para lograr lo que necesito y sí el password y el login son para acceder al programa.
Muchas gracias por tu interés.

Caral
04-11-2007, 23:46:43
Hola
Me parece que es en realidad muy sencillo.
Supongo que lo que quieres es hacer un form en el que el usuario pueda cambiar su nombre, password u otros datos de tu interes.
Si es asi, no le veo la dificultad.
1-Haces el form
2-Conectas con la tabla en donde este el password, (me gustaria saber con que componente lo haces).
3-Hay varis opciones para hacer lo que quieres.
3A- Darle doble click al componente que enlaza la tabla y desplazar cada campo hacia el form, esto creara los dbedit necesarios.
3B- Colocar un datasource, conectarlo al table o query que uses (componente de enlace), colocar los dbedit que necesites y conectarlos al datasource.
4- Lo mas sencillo (sin conocer tu programa) colocar un BDNavigator y enlazarlo al datasource.
No se si sera esto lo que necesitas, espero que por lo menos te de alguna idea.
Si tienes alguna duda, con gusto.
Saludos

radenf
05-11-2007, 00:17:00
Me has entendido perfectamente. Como motor de base de datos utilizo Absolute Database (www.componentace.com) que es un reemplazo de la BDE. En mi aplicacióna demás utilizo las BusinessSkinForms (www.almdev.com), para mejorar su aspecto visual. Esta trae un cuadro de diálogo para modificar las password, lo que desconozco es el código para activarlo. Pudiera ser también a través de un form específico. Te aviso que yo soy absolutamente neófito en lo de programar, no tengo ningún estudio al respecto, pero con el viejo método de ensayo y error y con una tenacidad que no sabía que tenía he logrado construir una aplicación de uso médico, a la que sólo le faltan algunos detalles para salir de su versión alfa 1.
Un saludo y muchas gracias.

Delphius
05-11-2007, 00:20:15
Hola radenf,
Primero que nada. Instrucciones exactas no puedo darte porque tu no nos has mencionado con que componentes (Aparte del ABSDataBase) y que motor de base de datos empleas (al parecer mySQL... pero por la forma en que está redactada tu oración da a entender que se trata de un ejemplo):

por lo que puede ser en código delphi o mysql

Bueno veamos. Damos por supuesto que el usuario ya accedió al sistema. Por lo que en algún lado conocemos su ID. Sin este supuesto no podríamos hacer los siguientes pasos para conseguir el efecto deseado:

1. Consultamos su password mediante un SQL. Por ejemplo:

select pass from tabla_user where ID = :paramIDUsuario

Siendo :paramIDUsuario un parámetro que se le suministra a la consulta SQL.

2. Verificamos que haya una consistencia. Es decir: que sólo y un solo resultado haya sido devuelto. SI existe UN solo registro hacemos:

3. Pedimos que ingrese su nombre de usuario, nueva password y que repita la password.
4. Realizamos la siguiente comprobación lógica para constatar de que lo ingresado sea correcto:

(EditPasswordNueva.Text = EditRepitePassword.Text) AND (EditPasswordNueva.Text <> PasswordVieja) AND ((EditPasswordNueva.Text > '') AND (EditRepitePassword.Text > ''))

Siendo PasswordVieja alguna variable en donde se ha guardado el valor devuelto en la consulta.

Es decir que comprobamos que la password nueva haya sido ingresado correctamente dos veces y que además sea distinta a la vieja.

Si se pasa la prueba lógica se emite una sentencia SQL del tipo UPDATE asegurándonos de que cumpla la condición de ID.

Update tabla_user ... where ID = :paramIDUsuario

En fin. Esa es la lógica. Como te dije... al no saber que motor emplear y que otros componentes usas no puedo darte un código que te funcione al 100%.

Con lo dicho por el amigo Caral y con esto creería que ya tienes para trabajar.

Saludos,

Caral
05-11-2007, 00:29:56
Hola
Bueno ya somos varios los novatos.
No se cual es el problema exacto para poder hacer lo que necesitas (desconozco tanto la base de datos como los skin).
Normalmente siguiendo los pasos que te indique antes deberias de poder conectar ese form.
No se si tienes algo en mente que desconozco, como puedo ayudarte?.
Saludos

Delphius
05-11-2007, 01:05:34
No me había percatado de que habías respondido. Cuando terminé de postear me he dado cuenta:p

Me has entendido perfectamente. Como motor de base de datos utilizo Absolute Database (www.componentace.com (http://www.componentace.com)) que es un reemplazo de la BDE. En mi aplicacióna demás utilizo las BusinessSkinForms (www.almdev.com (http://www.almdev.com)), para mejorar su aspecto visual. Esta trae un cuadro de diálogo para modificar las password, lo que desconozco es el código para activarlo. Pudiera ser también a través de un form específico. Te aviso que yo soy absolutamente neófito en lo de programar, no tengo ningún estudio al respecto, pero con el viejo método de ensayo y error y con una tenacidad que no sabía que tenía he logrado construir una aplicación de uso médico, a la que sólo le faltan algunos detalles para salir de su versión alfa 1.
Un saludo y muchas gracias.

Al igual que Caral no conzco dicho motor. Al Skin lo he sentido nombrar pero no lo he probado. Me llama la atención lo que remarco con negrita. ¿Activar la forma?¿Cómo usar dicho cuadro de diálogo?

Estoy en la misma que Caral... no sabría de que manera ayudarte... tendría que aprender a usar los componentes que mencionas.
Y si dices que eres novato en esta área... no creo que sea buena idea estar haciendo uso de componentes de terceros. Yo al menos primero optaría por aprender a hacer las cosas a códigos y después considerar meterse en cosas de terceros (que generalmente tienen código más extensos y complejos)

Saludos,

radenf
05-11-2007, 01:56:55
Agradezco enormemente sus ayudas.
Me pondré a trabajar con su información y apenas salga humo blanco les cuento.
Un gran saludo a todos.:)