|
Página 1 de 1
|
Comprobar O Autentificar Usuario
Autor |
Mensaje |
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Comprobar O Autentificar Usuario
Tengo una base de datos MySQL con una tabla que contiene nombres de usuarios y password. En el programa tengo un formulario para logearse y necesito saber como puedo comprobar ambos datos con la base MySQL y que si no concuerdan envie un mensaje de error.
Gracias de ante mano!
|
#1 Lunes, 10 Enero 2011, 21:12 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Comprobar O Autentificar Usuario
Hola
Lo correcto es que se guarden los password encriptados con MD5. Eso es por ejemplo lo que hace este foro. De esa manera incluso los que tienen acceso a la base de datos no tienen acceso a los password. Solo lo sabes tú.
Para guardar el usuario y la clave
Pongamos que el usuario está escrito en text1.text y la clave en text2.text
Rs=cn.create("usuarios")
rs!usuario=text1.text
rs!clave=crypt(text2.text,"qwertyui")
rs.update.
El día que quieres autentificar pongamos que el usuario está escrito en text1 y la clave en text2. Al darle al boton login ocurre lo siguiente
public sub login_click()
Rs=cn.find("usuarios","usuario='&1' and clave='&2'",text1.text,crypt(text2.text,"qwertyui")
if rs.available then
print "usuario valido"
else
print "usuario no valido"
endif
Lo mas normal es que a cada usuario le corresponda un código de manera que en vez de los print devuelves un código o nada.
public function Comprobar() as long
Rs=cn.find("usuarios","usuario='&1' and clave='&2'",text1.text,crypt(text2.text,"qwertyui")
CodigoUsuario=iif(rs.available,rs!codigo,0)
Return CodigoUsuario
Si esa función devuelve 0 es que el usuario no era válido. Si devuelve otra cosa es el código de usuario que he definido de tipo long en mi caso
última edición por soplo el Lunes, 10 Enero 2011, 22:25; editado 1 vez
|
#2 Lunes, 10 Enero 2011, 22:22 |
|
|
tururu
Aprendiz
Registrado: Noviembre 2010
Mensajes: 61
Edad: 52
|
Re: Comprobar O Autentificar Usuario
utiliza una conexion de root, con password, en el mysql y despues, conectas normalmente,a la tabla de passwords
dos textbox
uno para usuario
otro para clave
un boton
y esto dentro del boton
create una bbdd , llamada mybbdd
con una tabla usuarios, que tenga dos campos(usuario y clave)
(y create una clave para root en el mysql)
PRIVATE $hConn AS Connection
PUBLIC SUB Button1_click()
dim i as integer
$hConn = NEW Connection
WITH $hConn
.Type = "mysql"
.Host = "localhost"
.Login = "root"
.Password = "laclavequequieras"
.Name = "mybbdd"
END WITH
$hConn.Open
rData = $hConn.Exec("select usuario,clave from usuarios")
i = 0
WHILE rData.Available = TRUE
if rData!Usuario=textbox1.text and rdata!clave=textbox2.text then
message.info("correcto")
i=1
endif
rdata!movenext
wend
if i=0 then message.info("incorrecto")
end
ojo, habra algún error sintáctico, lo he escrito de memoria.
creo que con esto, tienes suficiente
|
#3 Lunes, 10 Enero 2011, 22:29 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Re: Comprobar O Autentificar Usuario
Gracias por su respuesta!
Estoy usando el siguiente código y cuando ejecuto el programa me dice "Null Object"
rs = hConn.Exec("dosio_user", "username='&1' and password='&2'", Txt_Username.Text, Txt_Password.Text) 'Aquí es donde genera el Null Object
If rs.available Then
FMain.Show
Else
Message.Error("usuario no valido")
Endif
End
|
#4 Martes, 11 Enero 2011, 03:02 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Comprobar O Autentificar Usuario
yo diría que tu conexión no está conectada a una base de datos
|
#5 Martes, 11 Enero 2011, 04:08 |
|
|
skaterleopoldo12
Usuario
Registrado: Marzo 2011
Mensajes: 32
Edad: 35 Ubicación: Trujillo
|
Re: Comprobar O Autentificar Usuario
Gracias me sirvio de Mucho... Estuve Probando varios pero a ninguno le veia la Vuelta
El mio quedo de esta Forma
PRIVATE rData AS Result '<<<-- Recuerden Declarar
PUBLIC SUB Button3_Click() '<<<----------Boton Entrar
DIM i AS Integer
rData = db.Exec("select NombreU,ClaveU from SIET.Usuarios")
i = 0
WHILE rData.Available = TRUE
IF rData!NombreU = textbox1.text AND rdata!ClaveU = textbox2.text THEN
message.info("Nombre y Clave de Usuario Correctos")
ME.Close
Form2.Show
i = 1
ENDIF
rdata.movenext
WEND
IF i = 0 THEN message.info("El Nombre y/o Clave de Usuario Incorrectos")
TextBox1.clear
TextBox2.Clear
TextBox1.SetFocus
END
|
#6 Miercoles, 29 Junio 2011, 18:40 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|