Presentación del control de acceso
Si diferentes personas utilizan una aplicación, lo que suele ocurrir en la arquitectura cliente-servidor o de interfaces web, es necesario controlar el acceso u ofrecer diferentes funcionalidades según de los usuarios conectados. También es esencial ofrecer la seguridad de los datos sensibles, incluso en las aplicaciones monopuesto.
La estrategia de control de acceso 4D depende de la configuración de su despliegue:
- en las aplicaciones multiusuario, puede confiar en los usuarios y grupos 4D,
- en las aplicaciones monopuesto, el acceso de los usuarios se controla a través de la sesión del sistema, mediante comandos como
Current system user
.
Consulte la documentación Guía de seguridad de 4D para una visión de conjunto de las funciones de seguridad de 4D.
Control de acceso en las aplicaciones multiusuario
Las aplicaciones multiusuario se despliegan con 4D Server. Incluyen aplicaciones cliente-servidor, web o REST.
In multi-user applications, access control is done through 4D users and groups. You create users, assign passwords, create access groups that have different levels of privileges in the application.
You initiate the 4D password access control system with 4D Server by assigning a password to the Designer user. Until you give the Designer a password, all application access are done with the Designer's access rights, even if you have set up users and groups (when the application opens, no ID is required). Se puede abrir cualquier parte de la aplicación.
Cuando se asigna una contraseña al Diseñador, todos los privilegios de acceso entran en vigor. In order to connect to the application or to a server with protected access, remote users must enter a login/password.
Para desactivar el sistema de acceso por contraseña, basta con eliminar la contraseña del Diseñador.
Control de acceso en las aplicaciones monopuesto
Single-user applications are desktop applications, deployed with 4D or merged with 4D Volume License. In single-user applications all users opening the application are Designers, they have all privileges and their name is "Designer". Access control is not based upon 4D users and groups, but upon user sessions.
Identificación del usuario
To identify the current user in a 4D single-user application, you can rely on the Current system user
command, which returns the user who opened the system session. Thus user authentication is delegated to the OS level.
You can then allow or deny access within your application by using code such as:
If(Current system user = $user) //you can store users in a database table
// give access to some features
End if
If you want to use the system user name in 4D instead of "Designer" (e.g. in log files), you can call the SET USER ALIAS
command, for example:
SET USER ALIAS(Current system user)
Protección del acceso
Privilegios
On a machine that is shared by several users, you can install the 4D application in a folder and give appropriate user access privileges to the folder at the OS level.
Cifrado de datos
Si desea proteger el acceso a los datos de la aplicación, se recomienda encriptar los datos y proveer la clave de encriptación al usuario o usuarios autorizados.