Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Diseñar aplicacion multiusuario con vb6.0

Estas en el tema de Diseñar aplicacion multiusuario con vb6.0 en el foro de Visual Basic clásico en Foros del Web. La conexion actual es atravez de una base de datos multiusuario y todas las estaciones se conectan a un db servidor donde se agregan,modifican y ...
  #1 (permalink)  
Antiguo 06/05/2009, 16:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 238
Antigüedad: 14 años, 11 meses
Puntos: 7
Diseñar aplicacion multiusuario con vb6.0

La conexion actual es atravez de una base de datos multiusuario y todas las estaciones se conectan a un db servidor donde se agregan,modifican y eliminan registros.

Por lo que he encontrado hay 2 formas para hacer el programa multisuario, en las 2 se debe crear una tabla usuario(user,pass,ad,upd,del) y asignarle los permisos a cada usuario atravez de programacion segun el valor de los controles check de los campos ad,upd,del.

La otra es darle los permisos directamente a la bd sqlserver o mysql,pero como debo hacerlo correctamente o en que estoy equivocado

Pueden darme una pauta para empezar a programar cual de las 2 formas es mejor o la utilizada generalmente?
En resumen como hago para que el user 1 haga las 3 acciones(modificar,eliminar,crear), el user2 solo elimine y asi dependiendo el permiso que tenga asignado?
  #2 (permalink)  
Antiguo 06/05/2009, 17:38
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Diseñar aplicacion multiusuario con vb6.0

La forma "1" es la mas usada...

Igualmente podes adaptar la forma 1 y la 2 para darle mayor seguridad al software...

La forma 1 es asi como dijiste...

- En una tabla se tienen los usuarios, password, niveles... (el nivel podes poner 1 y 0 para identificar si puede o no hacer una accion o tener acceso a una funcion...)

- Cuando el usuario loggea, guardas el NIVEL y habilitas o deshabilitas los botones etc etc...
PROBLEMA: Facilmente puede modificarte el estado de los botones de disabled a enabled, con olly por ejemplo... Entonces una solucion seria que cuando haces click en un boton verifique si el nivel le permite... (como para hacerlo mas jodido)...

Y por ultimo, podes tambien implementar la opcion 2, que por cada usuario tambien crear usuario en la base de datos para que tenga el acceso permitido... Con eso ya se evita todo tipo de cracking...
  #3 (permalink)  
Antiguo 06/05/2009, 18:44
 
Fecha de Ingreso: abril-2009
Mensajes: 136
Antigüedad: 15 años
Puntos: 1
Respuesta: Diseñar aplicacion multiusuario con vb6.0

Estoy realizando un ERP y en cuanto a los usuario hice tres cosas basicas 1 un mapa de tablas donde le doy operativilidad a los botones add,edt,delete,print,search, un mapa de menu donde le di acceso a cada menu y por documento opciones operativas ejemplo cambiar fecha, cambiar moneda etc. Bien esto es mucho mas alla pero si queres dime tu mail y te agrego y te paso un codigo para que cheques
  #4 (permalink)  
Antiguo 07/05/2009, 17:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 238
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Diseñar aplicacion multiusuario con vb6.0

Bueno no necesito algo tan complicado por ahora, pero estaria bueno ver el ejemplo.
Hasta ahora hize esto funciona pero me parece que le doy muchas vueltas al asunto.

Tengo declarada una variable en un modulo bas llamada User_system para guardar el nombre de usuario de la tabla usuario, esta bien plantiado esto o como seria una forma mas sencilla de hacerlo.
Código:
'Este el form del login
'===============
Dim rsU As Recordset

Private Sub cmdAceptar_Click()

'cargo la variable con el nombre del usuario
User_system = txtUser.Text

Set rsU = New Recordset
rsU.Open "SELECT * FROM usuario WHERE NomUser='" & Trim(txtUser.Text) & "'", cn, adOpenStatic, adLockOptimistic

If rsU.EOF = False And rsU.BOF = False Then
      'Si encontro algo, compruebo si la contraseña es igual a la del txtClave
      If rsU("clave") = txtClave Then
         'MsgBox "Login correcto", vbInformation, "Información"
         MDIForm1.Show
         Unload Me
      Else
         MsgBox "La contraseña no es correcta, verifique los datos", vbInformation, "Información"
      End If
Else
      MsgBox "El usuario no existe, verifique los datos", vbInformation, "Información"
End If
End Sub
Una vez q ingreso al sistema tengo en la variable "User_system" el nombre del usuario, en mi formulario en el boton de mantenimiento tengo este codigo
Código:
Private Sub cmdEliminar_Click()
'Reviso si el usuario de la variable "User_system" tiene activo el permiso
Dim rs As Recordset
Set rs = cn.Execute("SELECT n_acceso FROM usuario WHERE nomuser='" & User_system & "'")

Dim Ns As Integer
If rs(0) = FALSO Then Ns = 0 Else Ns = 1

If Ns = 1 Then 'Si el boolean esta activo
   MsgBox "Consulta SQL realizada satisfactoriamente"
   'Ejecuto el codigo y/o funciones ......
Else
   MsgBox "No puede realizar la consulta SQL, no tiene permiso"
End If
End Sub
Me gustaria crear una funcion o algo por estilo ya que estaria redundando codigo en cada boton con el que tenga que realizar una consulta a la base de datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:18.