Login (usuario y contraseña)

Estoy utilizando la siguiente solución hecha por un experto que ya no esta disponible... Me funciona muy bien... Pero mi consulta es la siguiente:

¿Hay forma de generar un modulo que me mantenga el usuario logueado?
Esto es como lo utilizo:
Cra una tabla llamada Pass con estos campos:
-Usuario
-Password
-Formulario
Rellénala adecuadamente con los usuarios que quieras y su contraseña y escribe el formulario que quieres que se le abra a cada uno.
Crea un formulario de inicio y llamalo "Inicio", y crea una macro llamada autoexec en la que la única orden sea abrir este formulario que estamos creado ahora. Solo por llamarse Autoexec, esa macro se ejecutara al abrir la base de datos.
En este formulario pon dos cuadros de texto. Llamalos Usuario y Contraseña.
Ahora pon un botón.
En el evento click de ese botón pon este código:
Dim Base As DataBase
Dim pass As Recordset
set Base = CurrentDB
set Pass = Base.openRecordset("select * from pass where Usuario = '" & Usuario & "' and password = '" & Contrasena & "'"
if Pass.RecordCount = 0 then
msgbox "Contraseña incorrecta"
exit sub
end if
'Fijate que da igual que la contraseña este mal, o el usuario no exista. De este modo no das pista al posible intruso.
'Si la ejecucion llega a este punto, es que el usuario y la contraseña son validos. Ahora solo queda Abrir el formulario adecuado a cada usuario.
Docmd. Openform pass! Formulario
DoCmd. Close acForm, "Inicio"
Listo. Ya tienes lo que quieres. A partir de aquí puedes complicar esto y añadir los niveles de seguridad que quieras. Por ejemplo, podrías ocultar la tabla Pass, o sacarla fuera de la base de datos a otra externa, o encriptarla con la encriptación de access o con una que hagas tu mismo.
Pero a menos que tus usuarios tengan un alto nivel de conocimientos de Access, con ocultar la tabla seguramente es suficiente, y quizás ni eso.

1 Respuesta

Respuesta
1
¿Qué quieres decir con que te mantenga el usuario logueado?
tal vez no me exprese bien...
Lo que necesito es que me guarde el usuario que se logueo (seria como una variable) y poder realizar consultas de acuerdo al usuaria que se ha logueado en la base de datos
Puedes grabarlas en un fichero en el PC (p.e. C:\login.txt) del usuario y luego, si ese fichero existe, recuperalas. Para grabar y leer de un fichero mira el comando Open, Write Read y para ver si el fichero existe usa el comando Dir.
si podría ser un opción.. ¿te pregunto hay forma de crear un modulo global y usarla como variante? ¿O algo similar?
Tal y como lo has montado no.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas