Carolina Román Salgado escribió: > Para que mi código respete los permisos definidos por el sistema, yo > debo pasar mis búsquedas sql por una función que se llama > db_rewrite_sql, que despedaza mi búsqueda y le agrega cláusulas para > asegurar que cada usuario ve una lista con las páginas que está > autorizado a ver. Después de pasar por esa función, la misma consulta > que está arriba se ve: > > SELECT > area.title, area.brief_description, area.main_picture > FROM (SELECT DISTINCT ON (nid) * FROM node) n JOIN area USING (vid) > INNER JOIN node_access na ON na.nid = n.nid > WHERE (na.grant_view >= 1 > AND ((na.gid = 0 AND na.realm = 'all') > OR (na.gid = 2 AND na.realm = 'term_access') > OR (na.gid = 6 AND na.realm = 'term_access')) > ) > ORDER BY title;
No se ve muy bonito, ¿por qué no implementas el control de acceso con una vista en vez de reescribir manualmente la consulta? -- Alvaro Herrera Vendo parcela en Valdivia: http://alvherre.cl/caboblanco "Someone said that it is at least an order of magnitude more work to do production software than a prototype. I think he is wrong by at least an order of magnitude." (Brian Kernighan) -- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
