anonymous Log in
Search
Recents:
v3.0
gx-l
Consulta Implementacion acceso de lectura para ciertos registros
02/04/20 09:56

Enrique Almeida

Replies: 3

Una posible forma de modelar esto es ponerle un "Nivel necesario para
Visualizar" al pedido que va de 90 (los mas grandes o restringidos) a 0
(que los puede ver todo el mundo), en el momento del ingreso.
Y a los usuarios, ponerle un Nivel del Usuario.
Por ejemplo, A los administradores tienen nivel 90, los aprobadores tienen
nivel 80 a 20, segun el monto que pueden aprobar y los usuarios normales
tienen 10.
En el momento de visualizar, lo que tenes que chequear es que el usuario
sea el mismo que lo ingreso o que tenga un Nivel de Usuario >= Nivel
necesario para visualizar.
Otra forma de modelarlo, seria dar Roles a los Usuarios y asignarle los
roles necesarios de visualizacion a los pedidos.
Tal vez con eso te ayude.
Enrique
El jue., 2 de abr. de 2020 a la(s) 09:47, Daniel Gonzalez (
Daniel.Gonzalez@inaxissa.com) escribió:
> Hola amigos,
>
>
>
> Tengo la siguiente situación
>
>
>
> Tengo un sistema de pedidos donde necesito que cada pedido sea visible por
> quien lo creo y sus aprobadores que pueden variar según el importe
>
> Adicionalmente tengo administrador que debe poder ver todo.
>
>
>
> Hasta ahora lo solucione agregando un campo lectores en la tabla de
> pedidos donde concateno los userid de los usuarios que pueden leer y un
> campo aprobadores con la lista de userid de los aprobadores del pedido
>
>
>
> En el evento start de la consulta calculo si el usuario es administrador
>
>
>
> En la consulta de pedidos tengo la siguiente condición
>
>
>
> (Lectores like '%'+&LoginName) OR (Aprobadores like '%'+&LoginName) OR
> (&esadministrador);
>
>
>
> La pregunta es saben de alguna manera mejor de representar esta realidad.
>
>
>
> Desde ya muchas gracias
>
>
>
> Saludos
>
>
>
> Daniel
>
>
>
>
>
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1
Por consultas owner-gx-l@gxtech.com.uy
Replies

leandro79337933

02/04/20 11:05
Hola Daniel, interesante problema tenes ahi. Una alternativa que se me ocurre es utilizar la cláusula IN del WHERE ( https://wiki.genexus.com/commwiki/servlet/wiki?8578,Where%20clause ). Aunque esta alternativa te obliga a crear una tabla más con la lista de lectores y aprobadores del pedido. Y pensándolo bien, no estoy 100% seguro que sea una solución más óptima que el LIKE, dependerá del motor y la utilización. Lo que sí, es que va a ser más "exacta" que el LIKE ya que evita la ambigüedad de los nombres de usuarios. Slds On Thu, Apr 2, 2020 at 9:57 AM Enrique Almeida

baldomero.olvera

02/04/20 14:33
Puedes investigar sobre los roles de seguridad en GAM u otras opciones como wwp. Yo he utilizado la seguridad avanzada de wwp y te permite establecer niveles de acceso a nivel atributo por usuarios o reles. El jue., 2 abr. 2020 a las 5:47, Daniel Gonzalez (< Daniel.Gonzalez@inaxissa.com>)

Daniel.Gonzalez

02/04/20 14:58
Si , de hecho uso WWP Pero el acceso es a nivel registro no a nivel de atributo Por ahora agrego los usuarios al campo lectores separándolos como el siguiente ejemplo DGONZALEZ~JPEREZ~MRODRIGUEZ~ Y busco sobre ese campo para dejar ver o no el registro saludos


Back to gx-l