Ver Mensaje Individual
  #2  
Antiguo 12-06-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Cool

Cita:
Empezado por luxus Ver Mensaje
Hola Amigos,

Estoy finalizando una aplicación y tengo que implementar un sistema de acceso a la misma mediante el nombre de usuario y una contraseña. He estado leyendo por el foro pero no he encontrado algo que me pueda ayudar.

En el programa habrá un administrador el cual dará de alta a los demas usuarios y la clave de acceso. Cada administrador tendrá un nivel de permisos con lo que en algunos apartados algunos usuario no tendrán acceso.

Alguna idea de cómo implementarlo? Uso una base de datos en access con lo que me planteo en guardar las contraseñas y nombre de usuarios en otro sitio para que nadie pueda alterar los permisos.

Gracias y un saludo
Creo que igualmente te puedes crear una tabla en Access con los datos de los usuarios... pero en el campo de la contraseña o clave, realizar un proceso para guardar dicho dato encriptado.... puedes encontrar varios modelos o algoritmos de encriptación... o te puedes crear uno propio... tan simple como tomar los caracteres uno por uno, convertirlos a ASCII y sumarles cierta cantidad y almacenarlos como binario o caracter...

con respecto a los permisos de los usuarios, y tenemos los niveles, creo que una buena forma es limitando el acceso al menu principal...

en donde al que tenga menos permiso le desabilitas las opciones de menu, y así sucesivamente..

mira el sgte codigo, lo que realiza es desabilitar el menu de acceso al sistema según el valor que traiga el usuario (Sw2='2' o ='3'... si es ='1' tiene todo el acceso)

Código Delphi [-]
   If (Sw2= '2') Or (Sw2= '3') Then
        Begin
             Menus.Items[1].Items[0].Enabled := False;
             Menus.Items[1].Items[1].Enabled := False;
             Menus.Items[1].Items[2].Enabled := False;
        End;
     If Sw2 = '3'Then
        Begin
             Menus.Items[0].Items[1].Enabled := False;
        End;

espero que esto te sirva...

bueno, de seguro existen otras opciones, pero esa le he utilizado y me ha funcionado super...

Salu2
__________________
BlueSteel
Responder Con Cita