Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Carga de seguridad en aplicaciones (https://www.clubdelphi.com/foros/showthread.php?t=84588)

elrayo76 07-11-2013 18:47:03

Carga de seguridad en aplicaciones
 
Gente linda, quisierta ver cual es la forma en que ustedes cargan todo lo relacionado con el usuario que ingresa a una aplicación.

El tema es que en todas las empresas donde trabaje los datos de la seguridad del usuario se cargaban en memoria al iniciar la aplicación. Esto hace que la aplicación cargue mas lento y en ocaciones funcione lenta.

Me interesa saber si no es conveniente solamente cargar en memoria los datos necesarios del usuario conectado y las opciones de los menu y demas cosas indispensables para la seguridad y luego el resto leerlo en el momento de la base de datos.

Saludos,
El Rayo

Casimiro Notevi 07-11-2013 19:05:24

Cita:

Empezado por elrayo76 (Mensaje 469404)
es conveniente solamente cargar en memoria los datos necesarios

Sólo lo necesario. Piensa en el típico cajero bancario. Ni un dato de más.

elrayo76 07-11-2013 21:17:30

Cuando me refiero a lo necesario, estos son los datos que identifican al usuario para luego poder en cada momento buscar en la base todo lo relacionado a seguridad.

Ejemplo: Cuando un usuario ingresa a una pantalla de Alta de Clientes en ese momento busco lo relacionado a esa pantalla y lo cargo. Cuando sale se limpia todo lo cargado de seguridad de esa pantalla. Así con todas las pantallas del sistema.

Lo que hacen generalmente las empresas es cargar toda la seguridad de todas las pantallas del sistema en memoria al ingresar a la aplicación y de ahi en mas se manejan con lo que hay en memoria.

A raiz de esto ultimo es que se dice comunmente cuando te cambian algun permiso que salgas de la aplicación y vuelvas a ingresar. Si en cada pantalla se busca lo de esa pantalla en la base con salir solo de la pantalla sería suficiente.

Saludos,
El Rayo

look 07-11-2013 21:30:12

Cita:

Empezado por elrayo76 (Mensaje 469414)
Cuando me refiero a lo necesario, estos son los datos que identifican al usuario para luego poder en cada momento buscar en la base todo lo relacionado a seguridad.

Ejemplo: Cuando un usuario ingresa a una pantalla de Alta de Clientes en ese momento busco lo relacionado a esa pantalla y lo cargo. Cuando sale se limpia todo lo cargado de seguridad de esa pantalla. Así con todas las pantallas del sistema.

Lo que hacen generalmente las empresas es cargar toda la seguridad de todas las pantallas del sistema en memoria al ingresar a la aplicación y de ahi en mas se manejan con lo que hay en memoria.

A raiz de esto ultimo es que se dice comunmente cuando te cambian algun permiso que salgas de la aplicación y vuelvas a ingresar. Si en cada pantalla se busca lo de esa pantalla en la base con salir solo de la pantalla sería suficiente.

Saludos,
El Rayo

Hola amigo, lo que yo hago comumente es cargar el perfil en mi formulario principal, es decir hay form de logeo en donde despues de verificar el usuario si este tiene acceso cargo su perfil en un stringlist en el main, luego simplemente consulto dentro del stringlist para determinar los permisos.

Saludos!

movorack 07-11-2013 21:34:53

Hola,

En mi opinión, siempre debes cargar lo necesario teniendo en cuenta el proceso actual y las actividades recurrentes.

Ejemplo 1: En el login solo necesito los datos de acceso y de menú general pero al no ser necesitados después por ningún proceso, puedo desecharlos una vez hallas construido el menú.

Ejemplo 2: El ingreso a las pantallas del aplicativo lo valido en el momento de solicitar el ingreso a la pantalla misma, obtener los datos de seguridad y volverlos a descartar una vez construyo el esquema de seguridad de la pantalla

Ejemplo 3: Si se requiere desplegar el nombre de usuario u otra información relevante del usuario en cada pantalla, estos datos deben estar disponibles en todo el tiempo en que se mantenga la sesión de usuario abierta.

ElKurgan 09-11-2013 10:12:52

Otra opción es tener los datos del usuario en una unit común al proyecto (un DataModule, por ejemplo), y sólo cuando accedes a las pantallas es cuando haces que los menús y demás historias se activen según el perfil deseado. Asi tienes los datos de usuario centralizados, y las pantallas solo tienen que buscar cual es el usuario que está actualmente activo


La franja horaria es GMT +2. Ahora son las 00:24:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi