[Gvsig_desarrolladores] Error al editar una capa postgis sobre la que no se tienen permisos de escritura

Javier Estévez jestevez en cartolab.es
Mie Nov 4 11:37:34 CET 2009


Hola.

En gvSIG 1.9 RC2, build 1250 (y en versiones anteriores, ya que lo hemos
detectado también en la 1.1.2) no hay ningún impedimento a la hora de poner
en edición una capa sobre la que no hay permisos de escritura (por ejemplo,
en la que el usuario tiene tan sólo el privilegio SELECT). Esto conlleva a
que cuando se quieren guardar los cambios de la capa el usuario se encuentra
con un error y pierde la conexión a la BD.

Investigando en el código me he encontrado con que en el driver de PostGIS
no comprueba si la capa es editable, simplemente devuelve siempre true en el
método isWritable. Así que propongo los parches adjuntos para los archivos
PostGISDriver y PostGISWriter para que se efectúen las comprobaciones
necesarias.

Como una pequeña mejora a la situación actual, en la función canSaveEdits
(PostGISWriter) se hace una consulta de privilegios sobre la tabla para
comprobar si se tienen los privilegios INSERT, UPDATE y DELETE. Y en
isWritable se llama a esta función.

Además también se propone otra consulta en canAlterTable (PostGISWriter)
para comprobar si el usuario es dueño de la tabla o superusuario para saber
así si tiene permisos de modificación de estructura de la tabla.

Espero que sirva de ayuda.
Un saludo.

-- 
Javier Estévez Valiñas
Grupo de Desarrollo
Cartolab - Laboratorio de Ingeniería Cartográfica
http://www.cartolab.es

ETS Ingeniería de Caminos, Canales y Puertos
Universidade da Coruña
Campus de Elviña - 15071 A Coruña (España)
(34)981167000 ext. 5493
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20091104/6541f594/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : PostGisDriver.java.patch
Tipo       : text/x-patch
Tamaño     : 266 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20091104/6541f594/attachment.bin 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : PostGISWriter.java.patch
Tipo       : text/x-patch
Tamaño     : 1837 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20091104/6541f594/attachment-0001.bin 


More information about the gvSIG_desarrolladores mailing list