โครงการนี้คือการแสดงโซลูชันของฉันสำหรับการสร้างสตริงการเชื่อมต่อแบบไดนามิกที่จำเป็นสำหรับการเชื่อมต่อกับฐานข้อมูล PostgreSQL ที่ตั้งค่าสำหรับความปลอดภัยระดับแถว
น่าเสียดายที่ไม่มีวิธีที่ง่ายในการใช้หน่วยหรือจัดหาการทดสอบการรวมสำหรับโซลูชันนี้เนื่องจากต้องใช้ฐานข้อมูล PostgreSQL พร้อมการตั้งค่าความปลอดภัยระดับแถว ฉันจะให้คำแนะนำง่ายๆบางอย่างเกี่ยวกับวิธีการตั้งค่า
ทำตามคำแนะนำที่ลิงค์นี้เพื่อตั้งค่า PostgreSQL DB บน Windows: https://www.labkey.org/documentation/wiki-page.view?name=installpostgresqlwindows
ก่อนหน้านี้สามารถเกิดขึ้นได้โปรดตรวจสอบให้แน่ใจว่าตารางที่จะให้นโยบายนี้ได้รับการย้ายจากโครงการหรือสร้างเป็นอย่างอื่นในฐานข้อมูล
ดูเอกสารต่อไปนี้เกี่ยวกับความปลอดภัยระดับแถว: https://www.postgresql.org/docs/9.5/static/ddl-rowsecurity.html
รหัสตัวอย่างสำหรับโครงการนี้:
ALTER TABLE testmodel ENABLE ROW LEVEL SECURITY
CREATE POLICY testmodel_rls ON testmodel
using (rowsecuritycolumn = current_user )