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
Cambiar usuario y privilegios desde el programa (RGPD)
Re: Cambiar usuario y privilegios desde el programa (RGPD)
Estimado Miarcod
Debe hacerlo con un usuario de dominio
En forma directa:
Sacando los datos de un .INI o de una base
É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.
Debe hacerlo con un usuario de dominio
En forma directa:
Code: Select all
WinExec("Net use \\IPoSERVER\D$\CARPETA clave /user:usuario",0)
SET DEFAULT TO \\IPoSERVER\D$\CARPETA
Code: Select all
WinExec("net use "+cPath+" "+cCla+" /user:"+cUser,0)
SET DEFAULT TO cPath
El ejecutable de su programa lo tiene que tener en cada PC de los usuarios. Así ellos no verán nada.
Saludos,
Adhemar C.
Adhemar C.
Re: Cambiar usuario y privilegios desde el programa (RGPD)
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
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