QGIS의 PostGIS 인증 프로세스 간소화


9

QGIS에는 다양한 (~ 15) PostGIS 데이터베이스의 데이터가 있고 아래 그림과 같이 각 연결에 대해 로그인 자격 증명 (인증 사용자 / 암호)이 저장되지 않은 프로젝트가 있습니다.

여기에 이미지 설명을 입력하십시오

이제 다른 사용자가 프로젝트를 열면 사용 된 각 데이터베이스에 대한 자격 증명을 입력해야합니다.

여기에 이미지 설명을 입력하십시오

합법적으로 내 사용자 중 누구도 자신의 자격 증명을 15 번 입력하지 않을 것을 강력하게 두려워합니다 (그러나 100 명의 사용자가있는 엔터프라이즈 환경에서는 승인이 성공의 열쇠입니다).

그래서 두 가지 질문이 있습니다.

  • 글로벌 프로젝트 변수에 사용자 이름있어서 제안하는 방법이 user_account_name
  • QGIS에 다른 연결에 대해서도 첫 번째 db 연결에 입력 한 자격 증명을 사용하도록 지시하는 방법이 있습니까?

아래에 제안 된대로 '자격 증명 입력'대화 상자를 수정하는 것이 많은지 추정 할 수 없지만 가능합니까?

여기에 이미지 설명을 입력하십시오


"Realm"만 바뀌고 다른 모든 변수는 동일하게 유지됩니까?
LaughU

예, 실제로는 'dbname'만 변경됩니다. 모두 같은 서버에 있습니다.
Jochen Schwarze

5
PostGIS는 공간 확장입니다. 12 개 이상의 PostgreSQL 데이터베이스가 있습니다. kludge를 함께 사용할 수 있지만 실제로는 하나의 큰 데이터베이스 가 있어야 합니다. 3 개 이상에 연결하는 것은 응용 프로그램 / 데이터베이스 디자인이 좋지 않습니다.
Vince

3
매우 유쾌합니다 ... 제 영어가 응용 프로그램 / 데이터베이스 디자인에 관한 것이 아님을 분명히하기에는 충분하지 않습니다. 그건 그렇고, PostGIS는 PostgreSQL을 의미 하고 QGIS에서는 PostGIS 연결 을 설정 한다고 생각했습니다 (위의 cp. 스크린 샷). 일부 postgres 사람들은 가능한 한 다른 데이터베이스에 서로 다른 콘텐츠를 배포하는 것이 좋은 습관이라고 말하지만, 3 개 이상의 데이터베이스에 연결하는 것이 응용 프로그램 설계가 좋지 않다는 사실을 알고 싶습니다. 관련 문헌 참조를 제공하십시오! 그리고 왜 세?!
Jochen Schwarze

1
나는 당신에게 문헌을 지적 할 수는 없지만 동일한 데이터베이스 내에서 별도의 스키마를 사용하는 것이 좋습니다.
bugmenot123

답변:


7

QGIS에는 인증 시스템 이 내장되어 있습니다. 간단히 말해 qgis-auth.db, 마스터 자격 증명 을 알고있는 다른 사람에게 보낼 수 있도록 모든 자격 증명이 하나의 파일에 저장된 보호 된 데이터베이스가 있습니다.

 .qgis 폴더

새로운 PostGIS 연결을 만들 때, 로그인 / 암호를 입력하는 대신 선택할 수 있습니다 qgis-auth.db(각 로그인 / 암호 쌍은 사용자에게 친숙한 이름을 가짐).

인증 시스템을 사용하여 QGIS에서 PostGIS 연결 설정

예를 들어, 많은 레이어를 포함하는 QGIS 프로젝트가 있습니다. 각 계층은 원격 PostGIS 데이터베이스에 대한 연결입니다. 각 데이터베이스에는 고유 한 사용자가 있습니다. 이 프로젝트를 열면 마스터 비밀번호를 한 번 인쇄해야하며 모든 레이어 (db 연결)가 작동하기 시작합니다.

이 프로젝트를 동료에게 보내서 qgis-auth.db파일을 제공 할 수 있습니다 . 사전에이 파일에서 공유하고 싶지 않은 자격 증명을 삭제할 수 있습니다.

동료 qgis-auth.db가 자신의 .qgis폴더에 넣은 후 (이전에 자신의 파일을 백업 할 수 있음) 프로젝트를 열고 마스터 암호를 입력하면 모든 것이 작동합니다.

세션 당 한 번 마스터 비밀번호를 입력하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.