Comprobar O Autentificar Usuario


Objetivo: 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!

Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: Re: Comprobar O Autentificar Usuario
yo diría que tu conexión no está conectada a una base de datos

Perfil MP  
Objetivo: 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

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1375s (PHP: -35% SQL: 135%)
Consultas SQL: 24 - Debug off - GZIP Activado