1 votos

Cómo abrir un proyecto QGIS sin que se pidan las credenciales de PostGIS cada vez

El problema:
Tenemos varias capas almacenadas en un PostgreSQL base de datos con PostGIS extensión (almacenada en AWS RDS Instancia).
La conexión ha funcionado perfectamente hasta la fecha.
Me piden las credenciales de acceso cada vez que abro el QGIS 3.16.5 proyecto que se almacena localmente.

Lo que me gustaría que pasara:
Me gustaría abrir el proyecto de QGIS y tener las capas cargadas de PostgreSQL + PostGIS base de datos sin necesidad de autenticarse cada vez.

Por qué es importante:

  1. Ahorra tiempo cada vez que abrimos un proyecto
  2. Las conexiones a múltiples bases de datos implican la introducción de credenciales para cada conexión a la base de datos
  3. Me gustaría saber cómo mejorar la UX para nuestros usuarios

Lo que he probado:

  1. Almacenamiento de credenciales como texto plano en el archivo del proyecto Edit PostGIS Connection > Authentication > Basic > Check Store checkbox
  2. Convertido en configuración. Edit PostGIS Connection > Authentication > Configurations > Create Authentication Configuration > Fill in Authentication Dialog inputs

Recursos que ya he mirado:

  1. https://issues.qgis.org/issues/21582

  2. A partir de QGIS 3.4.5 y 3.6 pide la contraseña repetidamente para conectarse a PostgreSQL 10

  3. https://docs.qgis.org/3.16/en/docs/user_manual/auth_system/index.html?highlight=authentication

  4. El cambio de la contraseña de la base de datos PostGIS solicita las credenciales del usuario al iniciar QGIS

  5. QGIS pide las credenciales de PostgreSQL varias veces

Preguntas:

  1. ¿Es esto un error conocido con el 3.16-LTR Si es así, ¿dónde puedo encontrar más información?
  2. ¿Estoy gestionando las conexiones de forma incorrecta o estoy pasando algo por alto?

El medio ambiente:
OS - Windows 10 Professional
Versión de QGIS - 3.16.5-Hannover

0 votos

¿Estás usando pgpass? gis.stackexchange.com/questions/331053/

0 votos

No, pero parece una buena idea. He leído el artículo. Gracias por el enlace. Hay una nota allí sobre la seguridad "NB : no es seguro usarlo de esta manera pero está bien si es una base de datos local". ¿Conoces una forma más segura de almacenar las credenciales?

4voto

Jonah Katz Puntos 128

Una muy buena solución es utilizar un archivo de servicio de conexión .

De este modo, puede tener sus credenciales en un archivo, completamente independiente de QGIS.

Puedes compartir el proyecto. Otros usuarios pueden utilizar el mismo proyecto también, utilizando sus propias credenciales.

El mismo proyecto puede ser utilizado por QGIS Server, utilizando también otras credenciales.

Y puedes empezar a guardar tus proyectos en la base de datos.

En Windows

Como estás usando Windows, necesitas tres pasos para conseguir servicio pg archivos funcionando.

Establecer PGSYSCONFDIR

En su ordenador local, debe establecer la variable de entorno PGSYSCONFDIR apuntando a la carpeta en la que desea almacenar su pg_service.conf archivo.

Normalmente, esto puede ir a su carpeta de inicio, como en la siguiente pantalla de impresión.

enter image description here

Cree su propio pg_service.conf

Después de fijar PGSYSCONFDIR crear un archivo de texto llamado pg_service.conf con sus datos de autentificación. El archivo tendrá el siguiente aspecto:

[neverland]
host=postgresql.neverland.com
port=5432
dbname=neverland
user=peter
password=wendy

Esto crea un nuevo servicio llamado neverland . Puedes crear tantos como quieras.

Utilizar los servicios pg en QGIS

Después de fijar PGSYSCONFDIR y crear su propio pg_service.conf puede empezar a utilizar este método de autenticación en QGIS.

Sólo tiene que introducir el nombre del servicio en el cuadro de diálogo Nueva conexión PostGIS.

enter image description here

0 votos

Gracias por la detallada explicación. Te lo agradezco. Esta respuesta es la solución más fácil de mantener que estaba buscando.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X