Control de acceso, de usuarios a registros específicos.

58 views
Skip to first unread message

RUTMARYS TRUJILLO

unread,
Jun 12, 2015, 1:37:47 PM6/12/15
to web2py-...@googlegroups.com
Hola buenas, saludos a todos.

Estoy desarrollando una idea, pero estoy un poco confundida, les explico como va. tengo ciertos REGISTROS en la base de datos... PROYECTOS que le pertenecen a ENTES, es decir, un ENTE cuenta con varios proyectos, y un proyecto solo le pertenece a un solo ENTE... cada ENTE pertenece a un grupo ()... lo que quiero es que ese grupo tenga acceso a los proyectos que le pertenece... ejemplo... Los PROYECTO: las Brisas, santa clara y san carlos, pertenece a el ENTE: Gobernación, los PROYECTOS: los pilones y la loma, pertenecen a el ENTE: Inavis. lo que quiero es que cuando accese el usuario que pertenece al grupo de Gobernación solo pueda ver sus PROYECTO: las Brisas, santa clara y san carlos.. el problema es que no se como hacerlo, espero entiendan la idea, y si me pueden dar otra se les agradece...

gracias de ante mano... :)

isi_jca

unread,
Jun 18, 2015, 3:18:58 PM6/18/15
to web2py-...@googlegroups.com
Hola Ruthmarys:

Supongamos que tu tabla tenga esta estructura:

Por razones de comodidad voy usar sql puro.

create table tproyecto
(
proyectoid integer,    /* id del proyecto */
nombre varchar(50), /* nombre del proyecto */
enteid ,                    /* id del ente */
grupoid                    /* Id del grupo dueño del proyecto (reference db.auth_group)  */
)

db.auth_group           /* tabla de grupos de web2py */
db.auth_membership /* Tabla asociativa usuarios-grupo de web2py */

Luego si quisieras consultar los proyecto a partir del usuario tendrías que hacer:

select *
from
    db.tproyecto p,
    db.auth_membership m
where
m.group_id = 1
m.user_id = 12
p.grupoid  = m.id

Nota: Supongamos que el grupo (ente) 1 sea "gobernación" y que el usuario "Juan" tiene el id = 12.

Saludos, espero te sirva.

RUTMARYS TRUJILLO

unread,
Jun 29, 2015, 4:17:51 PM6/29/15
to web2py-...@googlegroups.com
Hola... a todos gracias me ayudaron todos sus comentarios pude y pude resolver el problema. y aquí les dejo la solución.

usuario = db(db.auth_user.id==id_user).select().first()

    query= (db.proyecto.auth_groupId==usuario)
    form= SQLFORM.grid(query)

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "web2py-usuarios" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/web2py-usuarios/oqsgomGJnv0/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a web2py-usuari...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages