Cambiar usuario y privilegios desde el programa (RGPD)

Cambiar usuario y privilegios desde el programa (RGPD)

Postby miarcod » Sat Jun 09, 2018 8:56 am

Hola,
Con el nuevo RGPD se me plantea el problema de la seguridad de los datos en las aplicaciones.

Para el acceso a los datos establezco una conexión contra una carpeta compartida de Windows en la que se almacenenan las DBF y creo una unidad de red.
El problema es que esta carpeta tiene que tener acceso por el usuario que ejectua el programa para poder trabajar y durante la conexión se puede acceder ilimitadamenta a la misma.

Mi idea es la siguiente:

Crear un usuario para el acceso a esa carpeta y poner una contraseña. Con esto ya no se podría ver ni copiar el contenido de esta carpeta sin conocer la contraseña.
Cuando ejecuto el programa necesitaría que desde el propio programa pudiese cambiar los privilegios con los que se ejecuta el programa y hacer que se ejectuse como otro usuario con su contraseña, con lo que sólo el programa tendría acceso a esta carpeta compartida.

Creo que podría hacerlo cambiando las propiedades del acceso directo, para que se ejecute como otro usuario, pero me tendría que configurar los accesos directos de cada uno de los puestos de trabajo. Si se cambia la contraseña habría que volver a cada uno de los puestos de trabajo para establecer la nueva contraseña.

Si pudiese hacerlo desde el propio programa facilitaría tanto el cambio de contraseña de la carpeta compartida como el acceso de todos los puestos de trabajo, puesto que podría centralizar todo el proceso.

En definitiva, es posible cambiar de usuario una vez iniciado el programa.



¿Alguna idea?

Gracias
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: Cambiar usuario y privilegios desde el programa (RGPD)

Postby acuellar » Sat Jun 09, 2018 12:59 pm

Estimado Miarcod

Debe hacerlo con un usuario de dominio

En forma directa:
Code: Select all  Expand view  RUN

WinExec("Net use \\IPoSERVER\D$\CARPETA clave /user:usuario",0)
SET DEFAULT TO \\IPoSERVER\D$\CARPETA
 

Sacando los datos de un .INI o de una base
Code: Select all  Expand view  RUN

WinExec("net use "+cPath+" "+cCla+" /user:"+cUser,0)
SET DEFAULT TO cPath
 


Ésto lo debe colocar al inicio del programa para que habilite la ruta

El ejecutable de su programa lo tiene que tener en cada PC de los usuarios. Así ellos no verán nada.
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar usuario y privilegios desde el programa (RGPD)

Postby miarcod » Sun Jun 10, 2018 4:47 pm

Gracias por responder

Esto me podría solucionar el problema en un red.

Pero si lo planteo en local lo que haría sería crear un usuario sin privilegios para ejecutar el programa y una vez que el programa se inicia cambiar a un usuario con privilegios de administrador para poder acceder a los recursos locales.
He estado realizando pruebas con el comando RUNAS pero cuando se ejectua con este comando el exe se inicia desde la ruta ..\windows\system32..., las rutas definidas ya no valen etc.. esto me obliga a definir rutas fijas en las que localizar los ficheros de configuración. De momento lo he solucionado guardando algunos datos en el registro de Windows y leyendolos al iniciar el programa.

Si se pudiera cambiar de usuario y privilegios desde el propio programa creo que sería mas sencillo

Un saludo
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 21 guests