Спростіть процес аутентифікації PostGIS від QGIS


9

У QGIS у мене є проект із даними різних баз даних (~ 15) PostGIS, без даних про вхід (користувач автентифікації / pwd), що зберігаються для кожного з підключень, як показано нижче.

введіть тут опис зображення

Тепер, коли інший користувач відкриває проект, він (або вона) повинен ввести облікові дані для використовуваної бази даних EACH:

введіть тут опис зображення

Я сильно побоююся, що законно ніхто з моїх користувачів не прийме введення його (або її) облікових даних 15 разів (але в умовах підприємства з потенційно 100 користувачами, прийняття є ключовим для успіху).

Тож у мене виникають два питання:

  • чи є спосіб запропонувати ім'я користувача відповідно до глобальної змінної проекту user_account_nameта
  • чи є спосіб сказати QGIS використовувати також дані, введені для першого db-з'єднання, для будь-якого іншого з'єднання?

Я не можу оцінити, чи було б великою можливістю змінити діалог "Ввести довірені дані", як було запропоновано нижче, але чи можливо це?

введіть тут опис зображення


значить, лише "Царство" змінюється, а всі інші змінні залишаються незмінними?
LaughU

так, всередині реального змінюється лише 'dbname'. все на одному сервері.
Jochen Schwarze

5
PostGIS - це просторове розширення. У вас понад десяток баз даних PostgreSQL . Незважаючи на те, що ви, можливо, зможете спільно зібратися з глуздом, вам дійсно слід мати одну велику базу даних. Підключення до більш ніж трьох - лише поганий дизайн додатків / баз даних.
Вінс

3
Дуже шалено ... Вибачте, що моя англійська мова недостатньо хороша, щоб зрозуміти, що моє питання не стосується дизайну додатків / баз даних. І до речі, я завжди вважав, що PostGIS має на увазі PostgreSQL, і що в QGIS ми встановлюємо PostGIS-з'єднання (див. Скріншот вище). Хоча деякі постгреси говорять про те, що, коли це можливо, добре розповсюджувати різний вміст у різних базах даних, будь ласка, дозвольте мені брати участь у тому, звідки ви знаєте, що підключення до більш ніж трьох баз даних є поганим дизайном додатків? Будь ласка, надайте відповідні посилання на літературу! А чому три ?!
Йохен Шварце

1
Я не можу вказати вам на літературу, але гарним рішенням може бути використання окремих схем у межах однієї бази даних.
bugmenot123

Відповіді:


7

QGIS має вбудовану систему аутентифікації . Простіше кажучи, у вас є захищена база даних із усіма вашими обліковими даними, збереженими в одному qgis-auth.dbфайлі, які ви можете надіслати іншому, хто знає головний пароль:

 .qgis папка

Коли ви створюєте нове з'єднання PostGIS, замість того, щоб вводити свій логін / пароль, ви можете вибрати його qgis-auth.db(кожна пара входу / пароля має зручне ім'я).

Налаштуйте PostGIS-з'єднання в QGIS за допомогою системи аутентифікації

Як приклад, у мене є проект QGIS, який містить багато шарів. Кожен шар - це з'єднання з віддаленою базою даних PostGIS. Кожна база даних має свого користувача. Коли я відкриваю цей проект, мені доведеться раз надрукувати головний пароль, і всі шари (db-з'єднання) починають працювати.

Я можу надіслати цей проект своєму колезі, надавши свій qgis-auth.dbфайл. Заздалегідь я можу видалити деякі дані, якими я не хочу ділитися з цього файлу.

Після того як мій колега помістив qgis-auth.dbу свою .qgisпапку (він може зробити резервну копію власного файлу раніше), він відкриває проект, вводить головний пароль і все працює.

Ви вводите головний пароль один раз за сеанс.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.