В QGIS у меня есть проект с данными из различных (~ 15) баз данных PostGIS, без учетных данных для входа (аутентификация user / pwd), сохраненных для каждого из соединений, как показано ниже.
Теперь, когда другой пользователь открывает проект, он (или она) должен ввести учетные данные для КАЖДОЙ используемой базы данных:
Я сильно опасаюсь, что ни один из моих пользователей не сможет принять его (или ее) учетные данные 15 раз (но в корпоративной среде с потенциально сотнями пользователей принятие является ключом к успеху).
Поэтому у меня возникает два вопроса:
- Есть ли способ предложить имя пользователя в соответствии с глобальной переменной проекта
user_account_name
и - Есть ли способ указать QGIS использовать учетные данные, введенные для первого соединения с БД, также для любого другого соединения?
Я не могу оценить, будет ли полезно изменить диалог «Ввод учетных данных», как это предлагается ниже, но возможно ли это?
qgis
postgis
authentication
Йохен Шварце
источник
источник
Ответы:
QGIS имеет встроенную систему аутентификации . Проще говоря, у вас есть защищенная база данных со всеми вашими учетными данными, хранящимися в одном
qgis-auth.db
файле, которую вы можете отправить кому-то еще, кто знает главный пароль:Когда вы создаете какое-то новое соединение PostGIS, вместо ввода логина / пароля вы можете выбрать его
qgis-auth.db
(каждая пара логин / пароль имеет понятное имя).В качестве примера у меня есть проект QGIS, который содержит много слоев. Каждый слой представляет собой соединение с удаленной базой данных PostGIS. У каждой базы данных есть свой пользователь. Когда я открываю этот проект, мне нужно один раз напечатать мастер-пароль, и все слои (соединения БД) начинают работать.
Я могу отправить этот проект моему коллеге, предоставив мой
qgis-auth.db
файл. Предварительно я могу удалить из этого файла некоторые учетные данные, которыми не хочу делиться.После того, как мой коллега положил
qgis-auth.db
в свою.qgis
папку (он может сделать резервную копию своего собственного файла раньше), он открывает проект, вводит мастер-пароль и все работает.Вы вводите мастер-пароль один раз за сеанс.
источник