GeneXus - Evitar acceso no autorizado en WEB

   
Vista:

Evitar acceso no autorizado en WEB

Publicado por abraham (31 intervenciones) el 04/12/2007 02:06:55
Hola a todos en el foro, utilizo GX 9, SQL SERVER 2005, .NET en ambiente WEB.

Digamos que tengo 2 Web panel el primero es de HLOGIN el segundo, es HWEB mi duda es esta
como evito que un usario que ya conoce cual es la ruta de acceso al segundo web panel
(ejemplo, http://localhost/programa/HWEB.aspx) accese a el en forma no autorizada, es decir saltandose la pantalla del login.

Es una duda muy simple y basica pero no se como hacerlo y es obvio que es una parte critica el controlar el acceso de los usuarios a los programas.

GRACIAS POR SU AYUDA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Evitar acceso no autorizado en WEB

Publicado por Luis (82 intervenciones) el 04/12/2007 23:45:59
Suponiendo que tenes una tabla de usuarios con password, (en un web panel ademas tenes una variable para ingresar usuario y password), y haces lo siguiente:

Declara una variable de tipo WebSession, por ejemplo &Log, en todos los objetos, menos en los reportes y procedures

En el web panel que se loguean, en el evento confirmar, o el evento que valide al usuario haces lo siguiente

For Each
Where Usuario = &Usuario
If &Password = Password
&Log.Set('Login', 'S')
Call(HMenuQueLlamas)
EndIf
EndFor

Ahora en los demas webpanels, en el evento start, pones lo siguiente:

Declaras una variable de tipo character(1), por ejemplo &Logued

Event Start
&Logued = &Log.Get('Login')
If &Login <> 'S'
Call(HNoAutoriza)
EndIf
EndEvent
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar acceso no autorizado en WEB

Publicado por Luis (82 intervenciones) el 05/12/2007 00:05:32
Perdon, corrigo lo ultimo que te mande, puse mal el if
Event Start
&Logued = &Log.Get('Login')
If &Logued <> 'S'
Call(HNoAutoriza)
EndIf
EndEvent
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar