Usar campo de una tabla para validar usuarios

Discute sobre las herramientas de la base de datos

Usar campo de una tabla para validar usuarios

Notapor jopicach » Mar Mar 23, 2021 2:22 pm

Hola.

Estoy usando una macro que al pulsar un botón se abre un inputbox, introduces tu contraseña y si coincide el texto introducido en la macro ejecuta la acción. El caso es que de esta forma sólo puede haber una contraseña y no se como hacer que si la contraseña que se introduce coincide con uno de los campos de una tabla lo de por válido y ejecute la acción, de esta forma tener múltiples usuarios. Pongo la macro que utilizo para que se vea mejor.

Sub sBotonAbreTablaPass(Event As Object) 'Abre formulario insertando una contraseña

Dim Form As Object
Dim Pass
Dim Entrada
Form=Event.Source.Model.Parent
Pass="16745" ' escribir entre comillas la cadena de texto que servira de password
Entrada="" & InputBox("Introduzca la contraseña:","Aviso de seguridad","") & "" ' aquí modificamos el inputbox y recogemos los datos del usuario
If Pass=Entrada Then 'Si la contraseña es correcta ejecuta lo siguiente
Dim sNombreT As String
sNombreT=Event.Source.Model.Tag REM - En el Tag del boton poner el nombre de la tabla -
sAbreTabla(sNombreT,ThisDatabaseDocument.Currentcontroller.ActiveConnection)
Dim Control as Object
Control = ThisDatabaseDocument.CurrentController
If ( Not Control.isConnected() ) Then
Control.connect()
End If
Control.loadComponent(com.sun.star.sdb.application.DatabaseObject.TABLE, sNombreT,FALSE )

Else 'En caso de que la contraseña no sea la correcta ejecuta lo siguiente

MsgBox("La contraseña no es correcta", 16,"Error") ' aqui mostramos un MsgBox en caso de que no sean iguales las variables
Exit Sub ' Se sale
End if

End Sub
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
jopicach
 
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Usar campo de una tabla para validar usuarios

Notapor RMG » Mar Mar 23, 2021 5:01 pm

Hola

Quizás esto te ayude.

viewtopic.php?f=70&t=14252

Saludos
OpenOffice 4.1.9 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3817
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Usar campo de una tabla para validar usuarios

Notapor Longi » Jue Mar 25, 2021 9:46 am

Buenas!
En el tema de seguridad no estoy muy puesto que digamos, así que para las bases que uso no suelo gestionar usuarios desde el propio motor, ya que me obligaría a ser gestor, y si no estoy y hay un problema nadie del grupo de trabajo lo podría arreglar, a no ser que les de mi contraseña, con lo que estaríamos igual.
La 'opción' que cogí para algunas bases es la de hacer una tabla en la que se tienen los usuarios y sus claves (chapuza total ya que alguien que acceda a las tablas ya ve toda la información, pero suponemos que la gente no anda en esos asuntos).
A la hora de ejecutar la macro hago un ResultSet de la tabla de claves, y al recorrerlo voy comparando con lo metifo en el imput box. Si coincide, entonces hay permiso y salgo del ciclo. Si no coincide va hasta el final y niega el permiso.
Por supuesto que esto es una solución para usuarios muy básicos, que no se atreven a meterse en las tablas.
La solución de RMG evita estos inconvenientes.

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Longi
 
Mensajes: 745
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

[RESUELTO] Usar campo de una tabla para validar usuarios

Notapor jopicach » Sab Mar 27, 2021 9:19 pm

Hola,

Perdón por no haber contestado antes, tenía problemas con el equipo. Muchas gracias a los dos por la contestación, voy a probar las dos opciones aunque creo que la solución de RMG en su ejemplo se adapta más a lo que voy buscando.

Saludos!!!
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
jopicach
 
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados