1
ทางเลือกของวิธีการรับรองความถูกต้องสำหรับแอพทางการเงินใน PostgreSQL
ก่อนอื่นให้พื้นหลัง โครงการ LedgerSMB เป็นโครงการซอฟต์แวร์บัญชีการเงินที่ทำงานบน PostgreSQL เราใช้ตรรกะทางธุรกิจจำนวนมากในฟังก์ชั่นที่ผู้ใช้กำหนดซึ่งทำหน้าที่เป็นเครื่องมือการแมปหลักระหว่างวิธีการวัตถุของโปรแกรมและพฤติกรรมฐานข้อมูล ขณะนี้เราใช้ผู้ใช้ฐานข้อมูลเป็นผู้ใช้การพิสูจน์ตัวตนส่วนหนึ่งเป็นตัวเลือก (สิ่งนี้อนุญาตให้ตรรกะความปลอดภัยส่วนกลางเพื่อให้เครื่องมืออื่น ๆ สามารถเขียนและใช้สิทธิ์ที่ให้แก่ผู้ใช้) และอีกส่วนตามความจำเป็น (หลังจากเราแยกจาก SQL-Ledger ไม่มีตัวเลือกมากมายสำหรับการปรับเปลี่ยนการรักษาความปลอดภัยไปยัง codebase นั้น) วิธีนี้ทำให้เราสามารถเข้าถึงตัวเลือกการลงชื่อเข้าใช้เพียงครั้งเดียวที่ PostgreSQL สามารถเข้าถึงได้ตั้งแต่ LDAP ไปจนถึง Kerberos 5. เราสามารถใช้ PAM ที่เกี่ยวข้องกับรหัสผ่าน นอกจากนี้ยังช่วยให้เราสามารถใช้สิทธิ์อีกครั้งเมื่อรวมกับแอปพลิเคชันอื่นหรืออนุญาตให้ส่วนต่อประสานลูกค้าอื่น ๆ สำหรับแอปพลิเคชันการบัญชีการเงินดูเหมือนว่าจะชนะสุทธิ มีค่าใช้จ่ายที่เกี่ยวข้องอย่างชัดเจน สำหรับเว็บแอปพลิเคชันเรา จำกัด ประเภท http auth ที่สามารถรองรับได้มาก ตัวอย่างเช่น DIGEST นั้นหมดไปแล้ว การทำงานพื้นฐานและเราสามารถใช้ KRB5 ได้ง่ายพอ (ฉันวางแผนว่าจะให้การสนับสนุนและทำงานนอกกรอบสำหรับ 1.4) มาตรการการรับรองความถูกต้องที่แข็งแกร่งมากไม่สามารถจัดการได้อย่างถูกต้องโดยตรงแม้ว่าเราอาจจะสามารถกำหนดมาตรการเหล่านี้ได้ในกรณีที่จำเป็น (ตัวอย่างเช่นใบรับรอง SSL BASIC + ฝั่งไคลเอ็นต์ที่มี …