| afuente | |
Estimados: Estoy con GX16u11 generando Android generando Java con GAM encendido. LAS DUDAS son las siguientes ( con que respondan al menos 1 se agradece ) 1) El Objeto Menu for Smart Devices la forma en que lo utilizo ¿ es correcto que lo use como APK? o ¿debería tener otro y de alguna forma asociarle este para visualizar los puntos de menú?. 2) Estoy haciendo bien implementación de LOGIN al obtener GAMSession.Get en un procedure o debo usar algún objeto externo SD ? 3) Respecto al Logout, es correcta la implementación ? ¿Cómo diferencio cuando pierdo WebSession de cuando pierdo Session de GAM ? 4) Procedimiento para obtener usuario logueado tengo que ponerle Integrated Security Level: None ? O puede ser con autorización y asociarle el rol Unkown ? No quiero dejar eso como un bache de seguridad , entiendo que si le pongo autorización y no esta siquiera logueado debería reenviarlo hacia pantalla de Login ( pero no es el comportamiento que estoy obteniendo ). 5) ¿Cómo se las versiones de Android con las cuales es compatible al aplicativo que compile ? Entiendo de Android 5 para arriba, ¿puedo ponerle una versión minima para compilar?. Me paso que el comportamiento en Android 10 era diferente al comportamiento en Android 11. Detalle de implementación Mi aplicación SD es un objeto Main de tipo Menu For Smart Devices con Integrated Security Level puesto en Authentication. El tema es que abre pero no presenta nada, por lo que entiendo si es un tema de permisos debería derivar siempre a la pantalla de Login configurada. Quiero asegurar que los usuarios estén logueados (y en alguna pantalla autorizado ) para acceder a las diferentes acciones. Event ClientStart Composite TraerFuncionarioLogueadoSrv( XXXXXXXX ) Integrated Security Level : Authorization à Quizas este proc deba ponerlo con diferente seguridad?? if( &FuncionarioId = 0 OR &EmpresaId = 0 ) Msg('Error: Usuario sin funcionario asociado. Favor loguearse.') GeneXus.SD.Actions.Logout() Refresh endif EndComposite Endevent Objeto LOGIN ( configurado en la KB). Tiene Integrated Security: NONE En la acción de loguearse llama a un procedure el cual me valida si el Usuario esta asociado a un Funcionario, si eso GeneXus.Common.UI.Progress.ShowWithTitle("Conectando...") GeneXus.SD.Actions.Login(&User, &Password) GeneXus.Common.UI.Progress.Hide() UpdateContextAfterLoginSrv( &Usuario ,&EmpresaId ,&FuncionarioId ,&Mensaje ,&OkLogin ) //BASICAMENTE ese proc termina llamando a Procedure que identifica la sesión de GAM y en base a eso devuelve funcionario &Session = GAMSession.Get(&Errors) if( &OkLogin ) Return else GeneXus.SD.Actions.Logout() //Por las dudas lo deslogueo Msg( &Mensaje ) endif Panel SD LOGOUT ,llamado como una opción del Menu for Smart Devices. Tiene Integrated Security: NONE Event Refresh Composite PRCLogoutImplementationSrv() //Integrated Security None Este procedure tiene &isOk = GAMRepository.Logout(&Errors) &Session.Destroy() //De tipo WebSession SGP.TraerFuncionarioLogueadoSrv( XXXXXX ) if(&EmpresaId = 0 OR &FuncionarioId = 0 ) Textblock1.Caption = 'Usuario deslogueado' Msg('Usuario deslogueado' ) Return else Textblock1.Caption = '' endif EndComposite Endevent Ademas el objeto que es main antes de llamar a una de las acciones por ejemplo ver información de funcionario Event 'SDVerFuncionario' Composite TraerFuncionarioLogueadoSrv( XXXXXXX) if( &FuncionarioId = 0 OR &EmpresaId = 0 ) Msg('Error: Usuario no tiene funcionario asociado') GeneXus.SD.Actions.Logout() Refresh else SGP.SDVerFuncionarioActual( &EmpresaId ,&FuncionarioId ) endif EndComposite EndEvent Saludos, Descripción: afuentefirma |
|
|
|