• Jueves 18 de Abril de 2024, 16:50

Autor Tema:  Administracion De Usuarios  (Leído 1176 veces)

yagtcespedes

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Administracion De Usuarios
« en: Jueves 8 de Junio de 2006, 14:52 »
0
Hola, soy nuevo en este foro me gustaria que me ayudaran a resolver como administro a los usuarios de mi sistema, utilizando un usuario y una password y en base a estas dos cosas habilitar y desabilitar algunas opciones en el menu principal del sistema, ojala me ayuden ya que estoy trancado con eso......

Estoy utilizando VB6 y SQL

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Administracion De Usuarios
« Respuesta #1 en: Jueves 8 de Junio de 2006, 17:44 »
0
Independiente de que seas nuevo en el foro, por la pregunta, me imagino que ademas eres nuevo en todo lo que tiene que ver con programacion...

Para resolver tu problema, supondre lo siguiente:
a). Tienes conocimientos de la herramienta VB
B). Tienes conocimientos de bases de datos, y por tanto de tablas y SQL
c). Tienes nociones basicas de seguridad de la informacion, y como opera un sistema de administracion de usuarios.

Por tanto, comencemos...

1). Deberas crear las siguientes tablas

Usuarios   
Campo          Tipo
Username      T(10)
Password       T(50)

Esta tabla contiene todos los usuarios y sus contraseñas


Funciones
Campo                          Tipo
ID_Funcion                     T(20)
Descripcion_Funcion        T(20)

Esta tabla contiene todas las funciones u opciones de menu de tu sistema

Permisos
Campo                   Tipo
Username                 T(10)
ID_Funcion               T(20)
Tipo_Permiso            T(1)

Esta tabla contiene las relaciones de los usuarios y sus permisos a acceder a los diferentes menus u opciones del sistema
El campo Tipo_Permiso, es de tipo caracter de largo 1, y sus posibles valores son...
  S : Tiene permiso
  N : No tiene permiso de accceso


Entonces, teniendo estas tablas definidas, deberas realizar los formularios correspondientes que te permitan administrar cada una de las tablas... supongo que podras con ello, ya que no es parte del problema que tienes.

Ahora, suponiendo que tenemos los datos en las tablas, vamos a ver como ver el tema de los permisos...

Supongamos que tu formulario principal, contiene los siguientes menus y submenus. Se indica el caption y nombre de las opciones.


Sistema                               mnuSistema
    Cambio Password             mnuCambioPassword
    Cambio Usuario                mnuCambioUsername
    Salir                                mnuSalir
Mantencion                           mnuMantencion
    Usuarios                          mnuMantUsuarios
    Funciones                        mnuMantFunciones
    Permisos                         mnuMantPermisos
Procesos                              mnuProcesos
    Proceso 1                        mnuProceso1
    Proceso 2                        mnuProceso2
    Proceso 3                        mnuProceso3

Al cargar la aplicacion, deberas incorporar un formulario que permita ingresar el username y contraseña de usuario.

El usuario al ingresar estos datos, y presionar "ACEPTAR", "OK", "INGRESAR" o cualquier tipo de leyenda que coloques en el caption del boton, deberas incorporar la siguiente funcionalidad.


xUsername=Ucase(Trim(txtUsername))
xPassword=Ucase(Trim(txtPassword))

SentenciaSQL="Select p.ID_Funcion, p.Tipo_Permiso
From Permisos p, Usuarios U
Where
   P.Username = U.Username and
   U.Username = '" & xUsername & "' and "
   U.Password = '" & xPassword & "'"
Buscar registros usando SentenciaSQL
Si No Existen_Registros entonces
   Mostrar Mensaje Indicando "Usuario No Reconocido"
Si NO
   Mientras no sea fin de los registros
        Selecciones en caso de Registro.ID_Funcion
             caso "mnuSistema":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuSistema.Enabled=TRUE
                  si no
                        mnuSistema.Enabled=FALSE
                  Fin Si    
             caso "mnuCambioPassword":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuCambioPassword.Enabled=TRUE
                  si no
                        mnuCambioPassword.Enabled=FALSE
                  Fin Si    
             caso "mnuCambioUsername":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuCambioUsername.Enabled=TRUE
                  si no
                        mnuCambioUsername.Enabled=FALSE
                  Fin Si    
             caso "mnuSalir":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuSalir.Enabled=TRUE
                  si no
                        mnuSalir.Enabled=FALSE
                  Fin Si    
             caso "mnuMantencion":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantencion.Enabled=TRUE
                  si no
                        mnuMantencion.Enabled=FALSE
                  Fin Si    
             caso "mnuMantUsuarios":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantUsuarios.Enabled=TRUE
                  si no
                        mnuMantUsuarios.Enabled=FALSE
                  Fin Si    
             caso "mnuMantFunciones":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantFunciones.Enabled=TRUE
                  si no
                        mnuMantFunciones.Enabled=FALSE
                  Fin Si    
             caso "mnuMantPermisos":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuMantPermisos.Enabled=TRUE
                  si no
                        mnuMantPermisos.Enabled=FALSE
                  Fin Si    
             caso "mnuProcesos":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProcesos.Enabled=TRUE
                  si no
                        mnuProcesos.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso1":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso1.Enabled=TRUE
                  si no
                        mnuProceso1.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso2":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso2.Enabled=TRUE
                  si no
                        mnuProceso2.Enabled=FALSE
                  Fin Si    
             caso "mnuProceso3":
                  Si registro.Tipo_Permiso="W" entonces
                       mnuProceso3.Enabled=TRUE
                  si no
                        mnuProceso3.Enabled=FALSE
                  Fin Si    
        Fin Caso
       Avanzar al siguiente registro
   Fin Mientras
Fin Si

Esto es lo mas basico en terminos de administracion de permisos.... lo puedes complicar, aumentando el nivel de permisos, como por ejemplo, acceso, solo lectura, permiso para eliminar, etc.

yagtcespedes

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Administracion De Usuarios
« Respuesta #2 en: Jueves 8 de Junio de 2006, 20:47 »
0
Oye eres genial, mil gracias por tu ayuda.