ลดความซับซ้อนของกระบวนการตรวจสอบสิทธิ์ PostGIS จาก QGIS


9

ใน QGIS ฉันมีโครงการที่มีข้อมูลจากฐานข้อมูล PostGIS (~ 15) ที่หลากหลายโดยไม่มีข้อมูลรับรองการเข้าสู่ระบบ (ผู้ใช้รับรองความถูกต้อง / รหัสผ่าน) ที่จัดเก็บไว้สำหรับการเชื่อมต่อแต่ละรายการดังที่แสดงด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้เมื่อผู้ใช้รายอื่นเปิดโครงการเขา (หรือเธอ) ต้องป้อนข้อมูลรับรองสำหรับฐานข้อมูล EACH ที่ใช้:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันกลัวอย่างยิ่งว่าจะไม่มีผู้ใช้ของฉันที่ถูกต้องตามกฎหมายที่จะยอมรับการป้อนข้อมูลรับรอง (หรือเธอ) ของเขา 15 ครั้ง (แต่ในสภาพแวดล้อมขององค์กรที่มีผู้ใช้ 100 รายการยอมรับเป็นกุญแจสู่ความสำเร็จ)

ดังนั้นสองคำถามเกิดขึ้นสำหรับฉัน:

  • มีวิธีแนะนำชื่อผู้ใช้ตามตัวแปรโครงการทั่วโลกuser_account_nameและ
  • มีวิธีบอก QGIS ให้ใช้ข้อมูลประจำตัวที่ป้อนสำหรับการเชื่อมต่อฐานข้อมูลครั้งแรกสำหรับการเชื่อมต่ออื่น ๆ ด้วยหรือไม่?

ฉันไม่สามารถคาดการณ์ได้ว่าจะเป็นเรื่องที่ดีมากในการแก้ไขกล่องโต้ตอบ 'ป้อนข้อมูลรับรอง' ตามที่เสนอด้านล่าง แต่เป็นไปได้หรือไม่

ป้อนคำอธิบายรูปภาพที่นี่


ดังนั้น "อาณาจักร" จึงเปลี่ยนแปลงในขณะที่ตัวแปรอื่น ๆ ยังคงเหมือนเดิมหรือไม่
LaughU

ใช่ภายในของแท้จะมีการเปลี่ยนแปลง 'dbname' เท่านั้น มันอยู่บนเซิร์ฟเวอร์เดียวกัน
Jochen Schwarze

5
PostGIS เป็นส่วนขยายเชิงพื้นที่ คุณมีฐานข้อมูลPostgreSQLมากกว่าหนึ่งโหล ในขณะที่คุณอาจจะสามารถซ่อมแซมกัน kludge คุณจริงๆควรจะมีหนึ่งในฐานข้อมูลขนาดใหญ่ การเชื่อมต่อมากกว่าสามเป็นการออกแบบแอพพลิเคชั่น / ฐานข้อมูลไม่ดี
Vince

3
แย่มาก ... ขออภัยที่ภาษาอังกฤษของฉันไม่ดีพอที่จะทำให้ชัดเจนว่าคำถามของฉันไม่ได้เกี่ยวกับการออกแบบแอปพลิเคชัน / ฐานข้อมูล และโดยวิธีการที่ฉัน allways คิดว่า PostGIS หมายถึง PostgreSQL และใน QGIS เราสร้างการเชื่อมต่อ PostGIS (cp. ภาพหน้าจอด้านบน) ในขณะที่บางคนบอกว่ามันเป็นแนวปฏิบัติที่ดีที่จะเผยแพร่เนื้อหาต่าง ๆ ในฐานข้อมูลที่แตกต่างกันถ้าเป็นไปได้โปรดแจ้งให้เราทราบว่าการเชื่อมต่อกับฐานข้อมูลมากกว่าสามฐานเป็นการออกแบบแอพพลิเคชั่นที่ไม่ดี กรุณาให้ข้อมูลอ้างอิงวรรณกรรมที่เกี่ยวข้อง! และทำไมสาม!
Jochen Schwarze

1
ฉันไม่สามารถชี้ให้คุณเห็นวรรณกรรม แต่ทางออกที่ดีอาจใช้ schemas แยกในฐานข้อมูลเดียวกัน
bugmenot123

คำตอบ:


7

QGIS ได้ในตัวระบบการรับรองความถูกต้อง เพียงแค่พูดว่าคุณมีฐานข้อมูลที่ได้รับการปกป้องด้วยข้อมูลรับรองทั้งหมดของคุณซึ่งจัดเก็บไว้ในqgis-auth.dbไฟล์เดียวที่คุณสามารถส่งให้คนอื่นที่รู้รหัสผ่านหลัก:

 โฟลเดอร์. qgis

เมื่อคุณสร้างการเชื่อมต่อ PostGIS ใหม่แทนที่จะพิมพ์การเข้าสู่ระบบ / รหัสผ่านคุณสามารถเลือกได้qgis-auth.db(คู่การเข้าสู่ระบบ / รหัสผ่านแต่ละคู่มีชื่อที่เป็นมิตรต่อผู้ใช้)

ตั้งค่าการเชื่อมต่อ PostGIS ใน QGIS ด้วยระบบรับรองความถูกต้อง

ตัวอย่างเช่นฉันมีโครงการ QGIS ซึ่งมีหลายชั้น แต่ละเลเยอร์คือการเชื่อมต่อกับฐานข้อมูล PostGIS ระยะไกล แต่ละฐานข้อมูลมีผู้ใช้ของตัวเอง เมื่อฉันเปิดโครงการฉันต้องพิมพ์รหัสผ่านหลักหนึ่งครั้งและเลเยอร์ทั้งหมด (การเชื่อมต่อ db) เริ่มทำงาน

ฉันสามารถส่งโครงการนี้ให้เพื่อนร่วมงานของฉันโดยส่งqgis-auth.dbไฟล์ของฉัน ก่อนหน้าฉันอาจลบข้อมูลรับรองบางอย่างที่ฉันไม่ต้องการแชร์จากไฟล์นี้

หลังจากเพื่อนร่วมงานของฉันใส่ไว้qgis-auth.dbใน.qgisโฟลเดอร์ของเขา(เขาอาจทำการสำรองข้อมูลไฟล์ของเขาเองมาก่อน) เขาเปิดโครงการป้อนรหัสผ่านหลักและทุกอย่างทำงานได้

คุณป้อนรหัสผ่านหลักหนึ่งครั้งต่อเซสชัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.