𝗛𝗲𝗻𝘁𝗶𝗸𝗮𝗻 𝗞𝗲𝗯𝗼𝗰𝗼𝗿𝗮𝗻 𝗗𝗮𝘁𝗮 𝗦𝗮𝗮𝗦 𝗱𝗮𝗹𝗮𝗺 𝗟𝗮𝗿𝗮𝘃𝗲𝗹

Anda mengendalikan SaaS B2B. Anda mesti memastikan data pelanggan diasingkan.

Ramai pembangun menambah penapis tenant secara manual. Mereka menambah klausa where pada setiap query.

Ini membawa kepada kesilapan manusia. Seorang pembangun terlupa satu baris dalam laporan. Kini, Pelanggan A dapat melihat data Pelanggan B. Ini adalah satu bencana.

Automatikkan perkara ini dengan Global Query Scopes.

Berikut adalah prosesnya:

  • Bina kelas scope. Kelas ini mencari ID tenant semasa. Ia menambah penapis pada setiap carian pangkalan data.

  • Cipta satu trait. Trait ini mendaftarkan scope tersebut. Ia juga menetapkan ID tenant apabila anda mencipta rekod baharu.

  • Gunakan trait tersebut dalam model anda. Controller anda akan kekal bersih.

Anda kini mempunyai lapisan zero-trust. Malah panggilan mudah seperti Invoice::all() kekal selamat.

Keselamatan kini menjadi sebahagian daripada reka bentuk anda. Ia bukan lagi sekadar senarai semak manual.

Sumber: https://dev.to/iprajapatiparesh/prevent-saas-data-leaks-automated-eloquent-scopes-in-laravel-f6o