Zuia Kuvuja kwa Data za SaaS katika Laravel

Unaendesha SaaS ya B2B. Ni lazima uweke data za wateja zikiwa zimetengana.

Waendelezaji wengi huongeza vichujio vya tenant kwa mkono. Huongeza where clause kwenye kila query.

Hii husababisha makosa ya kibinadamu. Developer anasahau mstari mmoja kwenye ripoti. Sasa Mteja A anaona data za Mteja B. Hili ni janga.

Ifanye hii iwe ya kiotomatiki kwa kutumia Global Query Scopes.

Hii hapa ndiyo mchakato:

  • Jenga scope class. Darasa hili linatafuta tenant ID ya sasa. Linaongeza kichujio kwenye kila utafutaji wa hifadhidata.

  • Tengeneza trait. Trait hii inasajili scope. Pia inaweka tenant ID unapotengeneza rekodi mpya.

  • Tumia trait hiyo kwenye models zako. Controllers zako zitabaki safi.

Sasa una tabaka la zero-trust. Hata mwito rahisi kama Invoice::all() unabaki kuwa salama.

Usalama sasa ni sehemu ya usanifu wako. Si orodha ya ukaguzi wa mkono tena.

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