SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: javiburgo en Martes 11 de Febrero de 2003, 17:18
-
Hola expertos....
me gustaría que me aconsejarais sobre cual es el mejor camino para que mi aplicación permita la gestion de usuarios (petición de contraseñas, entradas limitadas, permisos.....)
en principio con que me reconozca el usuario y la contraseña puede ser suficiente
gracias por ayudarme
-
Esta respuesta la dí a una copnsulta anterior:
Contraseñas
La teoría es fácil, pero la práctica, más que dificil es tediosa de hacer.
En primer lugar debes crearte una tabla de usuarios, en ella especificarás el nombre del usuario y su contraseña. Puedes agregar campos adicionales como el nombre completo, departamento, etc... valores que sirvan para personalizar la pantalla.
Cuando accedan a la aplicación debes preguntar el nombre y la contraseña, buscarlo en la tabla y si es correcto permitir la entrada, en caso contrario, que lo intenten otra vez.
Hasta aquí es fácil. Lo complejo es personalizar los menús, es decir, permitir que tengan acceso a unos menús y a otros no. Para ello podrías crearte una tabla de permisos, en el que indiques un identificador y el nombre de la opción de menú, y otra de permisos de usuarios, en el que indique el nombre del usuario y el identificador de los permisos (opciones de menú) a los que tiene acceso.
A partir de esta base puedes ir complicando el tema, como permitir solo lectura, lectura escritura etc...
Solo es una pincelada por encima, pero creo que puede darte una idea de como hacerlo
Salu2
-
No sé si esto te sirva para cuentas o sesiones de usuario, pero un usuario podría abrir el Access y verlo todo, por lo que aun le falta grabar cada caracter bajo su código Ascii y concatenarle algún otro caracter antes o despues para hacer más dificil su desencriptación la cual es básica. Pero el Login está en una tabla y el password en otra, no es que tenga que ser así, pero es el que tengo más a la mano. Habría que hacer algo más de código para que acceda a BD con contraseñas, además de la encriptación indicada, pero esto solo busca al usuario, compara como fue ingresado en la BD.
Esta con controles Data pero si quieres puedes quitar los Data y hacerlo bajo puro código DAO.
Esto iría en el CommandButton de nombre "Aceptar":
If txtLogin.Text = "" Or txtPassword.Text = "" Then
MsgBox "Debe ingresar los datos de su cuenta para Iniciar Sesion"
Exit Function
End If
Data1.Recordset.MoveFirst
Data2.Recordset.MoveFirst
While Not Data1.Recordset.EOF And Not Data2.Recordset.EOF
'verifica que exista el login del usuario:
If txtLogin.Text = Data1.Recordset("Login") Then
'si el Login existe, verifica su password:
If txtPassword.Text = Data2.Recordset("Password") Then
frmInicioDeSesion.Caption = "Inciando sesion de: " & Data1.Recordset("Login")
'Unload Me
'MDIForm1.Show
Exit Function
End If
End If
Data1.Recordset.MoveNext
Data2.Recordset.MoveNext
Wend
MsgBox "No existe ninguna cuenta de usuario relacionada a esos datos, verifique sus datos."
'MsgBox "El login y el password son incorrectos o no estan relacionados"
txtLogin.Text = ""
txtPassword.Text = ""
txtLogin.SetFocus